adder875 boot fail

Hi there,

I have a adder875 board and I am trying to run linux 2..6.30 on it. However, the kernel can't bootup and fails at head_8xx.S. I've traced the code down and found it fails at the following point:

===================================================== mtspr SPRN_M_TWB, r6 lis r4,2f@h ori r4,r4,2f@l tophys(r4,r4) li r3,MSR_KERNEL & ~(MSR_IR|MSR_DR) mtspr SPRN_SRR0,r4 mtspr SPRN_SRR1,r3 rfi

/* Load up the kernel context */

2: SYNC /* Force all PTE updates to finish */ tlbia /* Clear all TLB entries */ sync /* wait for tlbia/tlbie to finish */ TLBSYNC /* ... on all CPUs */

====================================================

The kernel hangs after rfi instruction. It's supposed to return to where "2:" is, but it doesn't.

Can anyone help? Thanks a lot

Jingyu

Reply to
Jingyu Liu
Loading thread data ...

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D

PTE updates to finish */

B entries */

lbia/tlbie to finish */

s */

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D

The rfi instruction will have it run at whatever was in r4 (what got loaded into SRR0). Since you know it failed at that point (have a BDI debugger?), can you look at r4 and see if that looks like the correct physical address for where this code is?

In particular, this code uses tophys() which uses KERNELBASE. For that to be correct, you need to make sure that KERNELLOAD in arch/ppc/Makefile and PAGE_OFFSET in include/linux/page.h are set to the same value (I've just used the default

0xc0000000).

Regards, Steve

Reply to
steve_schefter

Thanks Steve. I don't have BDI. I printed messages to console for tracing. I'll take a look if the address is the cause.

Jingyu

Reply to
Jingyu Liu

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.