[Top] [All Lists]

Re: watch exception only for kseg0 addresses..?

To: "Maciej W. Rozycki" <>
Subject: Re: watch exception only for kseg0 addresses..?
From: Ralf Baechle <>
Date: Mon, 25 Nov 2002 13:18:07 +0100
Cc: atul srivastava <>,
In-reply-to: <>; from on Mon, Nov 25, 2002 at 12:55:11PM +0100
Original-recipient: rfc822;
References: <> <>
User-agent: Mutt/
On Mon, Nov 25, 2002 at 12:55:11PM +0100, Maciej W. Rozycki wrote:

> > The whole watch stuff in the the kernel is pretty much an ad-hoc API
> > which I did create to debug a stack overflow.  I'm sure if you're
> > going to use it you'll find problems.  For userspace for example you'd
> > have to switch the watch register when switching the MMU context so
> > each process gets it's own virtual watch register.  Beyond that there
> > are at least two different formats of watch registers implemented in
> > actual silicon, the original R4000-style and the MIPS32/MIPS64 style
> > watch registers and the kernel's watch code only know the R4000 style
> > one.  So check your CPU's manual ...
>  I think the best use of the watch exception would be making it available
> to userland via PTRACE_PEEKUSR and PTRACE_POKEUSR for hardware watchpoint
> support (e.g. for gdb).  Hardware support is absolutely necessary for
> watching read accesses and much beneficial for write ones (otherwise gdb
> single-steps code which sucks performace-wise).

Agreed.  And because such an extension would be fully backward compatible
introduction is no problem.  So time to come up with a reasonable API.
MIPS32 / MIPS64 extend the R4000's watch capabilities significantly,
something we don't want to ignore.


<Prev in Thread] Current Thread [Next in Thread>