linux-mips
[Top] [All Lists]

Re: watch exception only for kseg0 addresses..?

To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Subject: Re: watch exception only for kseg0 addresses..?
From: Daniel Jacobowitz <dan@debian.org>
Date: Wed, 11 Dec 2002 11:58:54 -0500
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
In-reply-to: <Pine.GSO.3.96.1021204182756.29982G-100000@delta.ds2.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20021204155128.GA18940@nevyn.them.org> <Pine.GSO.3.96.1021204182756.29982G-100000@delta.ds2.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.1i
On Wed, Dec 04, 2002 at 06:54:02PM +0100, Maciej W. Rozycki wrote:
> On Wed, 4 Dec 2002, Daniel Jacobowitz wrote:
> 
> > Sorry, by "not handy" I meant I didn't have the manuals available :)
> 
>  'http://www.mips.com/Documentation/R4400_Uman_book_Ed2.pdf' or see under
> "Publications"/"R4000...".  There are other sources of the book available,
> e.g. somewhere within SGI web pages.  R10k implements a single watchpoint
> this way, too. 
> 
> > >  What do you think?
> > 
> > You don't reveal to userland what size watchpoints are available - i.e.
> > how large a watchpoint can be.  Does the mask match the hardware
> > implementation, and what are the restrictions on it?
> 
>  For that you set up a disabled watchpoint with a mask set to all ones (or
> the range you are interested in).  Then when you retrieve it, you may see
> which bits stayed at ones.  Similarly you may check for hardwired
> don't-cares by using a mask with all zeroes.  The mask may differ for each
> watchpoint, e.g. for R4650 it's different for IWatch and DWatch, so you
> really want to have a per-watchpoint setting.  Also the MIPS32/64 ISA
> specification implies a mask need not be contiguous. 
> 
>  Similarly you may check for access types permitted, by enabling all of
> them (or ones you are interested in) and seeing which ones remained
> enabled.  Per-watchpoint, again. 
> 
>  I'd prefer not to overdesign the API leaving as much information as
> possible passed as is.  This way userland gets more control over what's
> available.

That way we expose more of the hardware to userland; and the thing
that's most important to me is that GDB not have to know if it's on a
MIPS32 or an R4650 when determining how watchpoints work. 
IWatch/DWatch are two particular watchpoints or distinguished by access
type?  I.E. what would GDB need to know to know which it is setting?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

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