Joakim Tjernlund wrote:
Scott Wood <scottw...@freescale.com> wrote on 17/11/2009 01:40:11:
No... I only meant that the ITLB pinning got rid of the boot hang.
When I mentioned the EFAULTs before you said, "No surprise as the it
seems like the DAR decoding is broken." I thought you meant you'd found
a bug and fixed it in this respin.
Oh, there seems to be a misunderstanding here :)
Lets go back a bit, you said some time ago:
/Quote
+3: lwz r11, 0(r11) /* Get the level 1 entry */
DO_8xx_CPU6(0x3b80, r3)
mtspr SPRN_MD_TWC, r11 /* Load pte table base address */
mfspr r11, SPRN_MD_TWC /* ....and get the pte address */
lwz r11, 0(r11) /* Get the pte */
/* concat physical page address(r11) and page offset(r10) */
rlwimi r11, r10, 0, 20, 31
But r10 here contains SRR0 from above, and this is a data TLB error.
Never mind that last one, forgot that you'd be wanting to load the
instruction. :-P
But the rlwimi is what's causing the machine checks. I replaced it with:
rlwinm r11, r11, 0, 0x3ffff000
rlwimi r11, r10, 22, 0xffc
and things seem to work. You could probably replace the rlwinm by
subtracting PAGE_OFFSET from swapper_pg_dir instead.
/End Quote
I read this as now everything is working, but I guess I misunderstood?
You still have EFAULT here?
Ah, that one -- I don't recall whether it was fully working back then, or
whether I just didn't notice the EFAULTs and was commenting more on the machine
checks going away.
In the current patchset, it's "8xx: start using dcbX instructions in various
copy routines" that introduces the problem.
-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev