adder875 boot fail

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
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

Re: adder875 boot fail
Hi Jingyu.

Quoted text here. Click to load it
3D%3D3D%3D
Quoted text here. Click to load it
3D%3D3D%
Quoted text here. Click to load it


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

Re: adder875 boot fail
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

Quoted text here. Click to load it


Site Timeline