ask some questions about u-boot's bootm command

poorbeyond poorbeyond at
Sun Jul 22 17:39:22 EST 2007

my cpu is 860T, using bootm command boot a linux kernel image, the following message print by smc1:

bootm 300000

## Booting image at 00300000 ...
   Image Name:   Linux-
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1081591 Bytes =  1 MB
   Load Address: 00100000
   Entry Point:  00100000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Current stack ends at 0x01D5DB10 => set upper limit to 0x00800000
No initrd
## Transferring control to Linux (at address 00100000) ...

then, the program has no response.

i debug it througth BDM, in u-boot function "do_bootm_linux", execute at "kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))hdr->ih_ep", the program branch to address "0x00000000", the code is shown as following:
00000000    mr    r31,r3
00000004    mr    r30,r4
00000008    mr    r29,r5
0000000C    mr    r28,r6
00000010    mr    r27,r7
00000014    bl    0x000020C8
00000018    mfmsr    r0
0000001C    ori    r0,r0,0x30
00000020    mtspr    SRR1,r0
00000024    lis    r0,0xC0002004 at h
00000028    ori    r0,r0,0xC0002004 at l
0000002C    mtspr    SRR0,r0
00000030    rfi

my questions are:

1. Is the code "kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))hdr->ih_ep" branch right?

2. What's the expected code after "kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))hdr->ih_ep"?

3. When the kernel run to the "boot/simple/head.s"?

thanks a lot

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Linuxppc-embedded mailing list