[RFC Patch 1/2] PPC64-HWBKPT: Disable interrupts for data breakpoint exceptions
K.Prasad
prasad at linux.vnet.ibm.com
Tue Mar 30 21:19:08 EST 2010
On Tue, Mar 30, 2010 at 04:32:25PM +1100, Benjamin Herrenschmidt wrote:
> On Tue, 2010-03-30 at 16:24 +1100, Paul Mackerras wrote:
> > On Tue, Mar 23, 2010 at 07:37:02PM +0530, K.Prasad wrote:
> >
> > > Index: linux-2.6.ppc64_test/arch/powerpc/kernel/exceptions-64s.S
> > > ===================================================================
> > > --- linux-2.6.ppc64_test.orig/arch/powerpc/kernel/exceptions-64s.S
> > > +++ linux-2.6.ppc64_test/arch/powerpc/kernel/exceptions-64s.S
> > > @@ -735,6 +735,9 @@ _STATIC(do_hash_page)
> > > std r3,_DAR(r1)
> > > std r4,_DSISR(r1)
> > >
> > > + andis. r0,r4,0x0040 /* Data Address Breakpoint match? */
> >
> > Minor comment: why not DSISR_DABRMATCH at h instead of 0x0040?
> >
> > > + bne- handle_dabr_fault
> > > +
> > > andis. r0,r4,0xa450 /* weird error? */
> > > bne- handle_page_fault /* if not, try to insert a HPTE */
> > > BEGIN_FTR_SECTION
> > > @@ -823,6 +826,15 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER
> > > bl .raw_local_irq_restore
> > > b 11f
>
> I would move your new test to the "weird error" case (ie, after the bne-
> handle_page_fault) to avoid hitting the fast path.
>
Done that...so basically the branch to handle_page_fault will happen
only if 0xa410 matches.
The changes can be seen here: linuxppc-dev: message-id:
20100330095925.GB14403 at in.ibm.com.
Thanks,
K.Prasad
More information about the Linuxppc-dev
mailing list