[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: [RFC Patch 1/2][Bugfix][x86][hw-breakpoint] Clear reserved
From:       "K.Prasad" <prasad () linux ! vnet ! ibm ! com>
Date:       2009-12-31 18:50:13
Message-ID: 20091231184949.GB3676 () in ! ibm ! com
[Download RAW message or body]

On Thu, Dec 31, 2009 at 12:45:00AM +0100, Frederic Weisbecker wrote:
> On Sat, Dec 26, 2009 at 11:57:25PM +0530, K.Prasad wrote:
> > Clear the reserved bits from the stored copy of debug status register (DR6).
> > This will help easy bitwise operations.
> > 
> > Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com>
> > ---
> >  arch/x86/include/asm/debugreg.h |    3 +++
> >  arch/x86/kernel/traps.c         |    3 +++
> >  2 files changed, 6 insertions(+)
> > 
> > Index: linux-2.6-tip/arch/x86/include/asm/debugreg.h
> > ===================================================================
> > --- linux-2.6-tip.orig/arch/x86/include/asm/debugreg.h
> > +++ linux-2.6-tip/arch/x86/include/asm/debugreg.h
> > @@ -14,6 +14,9 @@
> >     which debugging register was responsible for the trap.  The other bits
> >     are either reserved or not of interest to us. */
> >  
> > +/* Define reserved bits in DR6 which are always set to 1 */
> > +#define DR6_RESERVED	(0xFFFF0FF0)
> > +
> 
> 
> The 12th bit seems to be also reserved.
> Shouldn't it be 0xffff1ff0 ?
> 

The 12th bit is reserved to be 0 always.

> What kind of bitwise operations do you think it could help?
> 
> All of the operations I can find on dr6 are simple masks
> test/set/clear.
> 

As you found out later, this bitmask helps us in
hw_breakpoint_handler().

Thanks,
K.Prasad

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic