Subject: Re: machine check in kernel for a mpc870 board

From: Scott Wood <[email-masked]>
Date: Thu, 01 Jul 2010 12:42:45 -0500

On 07/01/2010 02:50 AM, Shawn Jin wrote:
> Hi Scott,
>
>> How do I find the address, reg, and range for nodes like localbus,
>> soc, eth0, cpm, serial etc.?

If your CCSRBAR is 0xfa200000, then pretty much anywhere you see 
0xff0xxxxx change it to 0xfa2xxxxx.

> I managed to proceed a little bit further.
>      Memory<-<0x0 0x8000000>  (128MB)
>      ENET0: local-mac-address<- 00:09:9b:01:58:64
>      CPU clock-frequency<- 0x7270e00 (120MHz)
>      CPU timebase-frequency<- 0x393870 (4MHz)
>      CPU bus-frequency<- 0x3938700 (60MHz)
>
>      zImage starting: loaded at 0x00400000 (sp: 0x07d1ccd0)
>      Allocating 0x186bdd bytes for kernel ...
>      gunzipping (0x00000000<- 0x0040c000:0x00591c30)...done 0x173b18 bytes
>
>      Linux/PowerPC load: root=/dev/ram
>      Finalizing device tree... flat tree at 0x59e300
>
> The gdb showed deadbeef.
>      (gdb) target remote ppcbdi:2001
>      Remote debugging using ppcbdi:2001
>      0xdeadbeef in ?? ()
>      (gdb)
>
> The kernel doesn't seem to start. What could go wrong here?

Pretty much anything. :-)

Make sure that you've got Linux platform code enabled that matches the 
top-level compatible of your device tree.  Try enabling 
PPC_EARLY_DEBUG_CPM, making sure to update PPC_EARLY_DEBUG_CPM_ADDR to 
0xfa202008.

-Scott