From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from m5-86.163.com (m5-86.163.com [202.108.5.86]) by ozlabs.org (Postfix) with SMTP id 02725DDF27 for ; Sun, 22 Jul 2007 17:54:29 +1000 (EST) Date: Sun, 22 Jul 2007 15:39:22 +0800 From: "poorbeyond" To: "Linux-ppc mail list" Subject: ask some questions about u-boot's bootm command Message-ID: <200707221539215465156@163.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=====003_Dragon658405111743_=====" List-Id: Linux on Embedded PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --=====003_Dragon658405111743_===== Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit 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-2.6.20.14 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@h 00000028 ori r0,r0,0xC0002004@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 poorbeyond 2007-07-22 --=====003_Dragon658405111743_===== Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: 7bit
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-2.6.20.14
   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@h
00000028    ori    r0,r0,0xC0002004@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
 
 

poorbeyond
2007-07-22
--=====003_Dragon658405111743_=====--