Question regarding the DTLB Miss exceptions
Michael Ellerman
michael at ellerman.id.au
Thu Apr 8 23:59:30 EST 2010
On Mon, 2010-03-29 at 23:24 -0700, Bruce_Leonard at selinc.com wrote:
> I'm tracking a problem that's leading me through DSI and DTLB miss
> exceptions on an MPC8347 (e300c1 core), and I've come across an oddity
> that I'm hoping someone can explain.
>
> When a DTLB Miss exception can't find a PTE for the virtual address being
> written/read, it dummies up the SPRs for a DSI exception and then calls
> directly into the DSI exception code. Just before the DTLB miss code
> stores a value into DSISR it sets bit 2, which for a DSI exception is a
> reserved bit and should be cleared. There's no comment on the code
> (.../arch/powerpc/kernel/head_32.S line 619 of the 2.6.33-rc1 kernel). Can
> anyone tell me why this bit is getting set?
You mean:
616 DataAddressInvalid:
617 mfspr r3,SPRN_SRR1
618 rlwinm r1,r3,9,6,6 /* Get load/store bit */
619 addis r1,r1,0x2000
620 mtspr SPRN_DSISR,r1
Is it trying to set DSISR_ISSTORE?
#define DSISR_ISSTORE 0x02000000 /* access was a store */
cheers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20100408/b39a1db1/attachment.pgp>
More information about the Linuxppc-dev
mailing list