Messages in this thread | | | Date | Fri, 1 Jan 2010 00:19:49 +0530 | From | "K.Prasad" <> | Subject | Re: [RFC Patch 1/2][Bugfix][x86][hw-breakpoint] Clear reserved bits of DR6 in do_debug() |
| |
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
| |