[U-Boot-Users] kernel stack overflow

hubbald at libero.it hubbald at libero.it
Tue Oct 17 15:35:21 CEST 2006


Hi all,

I'm working with a ppc board that uses mpc8548e processor. This board has
1GB of ram. I have configured the uboot, but when I run the kernel (linux
kernel 2-6-10 from montavista software) with the initrd I have a kernel
stack overflow error. We locate the error in the "unpack_rootfs" kernel
function when it is read from initrd_start passed by u-boot.

we attach the serial output including the loading u-boot.

/************************************************************/

U-Boot 1.1.4 (Oct 13 2006 - 16:20:46)

CPU:   8548_E, Version: 1.1, (0x80390011)
Core:  E500, Version: 1.0, (0x80210010)
Clock Configuration:
       CPU:1039 MHz, CCB: 297 MHz,
       DDR: 148 MHz, LBC:  37 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
    PCI BUS and EEPROM : disabled
I2C:   ready
DRAM:  Initializing
DDR: sdram_cfg (Phase 1)  = 0x42000000

DDR: cs0_bnds   = 0x0000001f
DDR: cs0_config = 0x80114102
DDR: cs1_bnds   = 0x0020003f
DDR: cs1_config = 0x80114102
DDR: ext_refrec = 0x00000000
DDR: timing_cfg_0  = 0x00260802
DDR: timing_cfg_1  = 0x3939c322
DDR: timing_cfg_2 = 0x04a04cc8
DDR: sdram_mode   = 0x40040452
DDR: sdram_mode_2 = 0x00000000
DDR: sdram_interval = 0x06090100
DDR: sdram_cfg_2  = 0x04600000
DDR: sdram_clk_cntl = 0x03800000
DDR: sdram_cfg (Phase 2) = 0xc3008000
DDR: MAS0=0x10080000
DDR: MAS1=0xc0000900
DDR: MAS2=0x00000000
DDR: MAS3=0x0000003f
DDR: MAS0=0x10090000
DDR: MAS1=0xc0000900
DDR: MAS2=0x10000000
DDR: MAS3=0x1000003f
DDR: MAS0=0x100a0000
DDR: MAS1=0xc0000900
DDR: MAS2=0x20000000
DDR: MAS3=0x2000003f
DDR: MAS0=0x100b0000
DDR: MAS1=0xc0000900
DDR: MAS2=0x30000000
DDR: MAS3=0x3000003f
    DDR: 1024 MB
Top of RAM usable for U-Boot at: 40000000
Reserving 169k for U-Boot at: 3ffd0000
Reserving 136k for malloc() at: 3ffae000
Reserving 80 Bytes for Board Info at: 3ffadfb0
Reserving 48 Bytes for Global Data at: 3ffadf80
Stack Pointer at: 3ffadf68
New Stack Pointer is: 3ffadf68
Now running in RAM - U-Boot at: 3ffd0000
FLASH: flash detect cfi
fwc addr fc000000 cmd 0 0 8bit x 8 bit
fwc addr fc000055 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr fc000010 is= ff 51
fwc addr fc000000 cmd 0 0000 16bit x 8 bit
fwc addr fc0000aa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr fc000020 is= 0051 5151
fwc addr fc000000 cmd 0 0000 16bit x 16 bit
fwc addr fc0000aa cmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr fc000020 is= 0051 0051
is= cmd 52(R) addr fc000022 is= 0052 0052
is= cmd 59(Y) addr fc000024 is= 0059 0059
ushort addr is at fc000050 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x2
addr[2] = 0x0
addr[3] = 0x0
retval = 0x2
device interface is 2
found port 2 chip 2 port 16 bits chip 16 bits
ushort addr is at fc000026 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x2
addr[2] = 0x0
addr[3] = 0x0
retval = 0x2
fc000020 : 00 51 00 52 00 59 00 02 00 00 00 40 00 00 00 00  .Q.R.Y..... at ....
fc000030 : 00 00 00 00 00 00 00 27 00 36 00 00 00 00 00 07  .......'.6......
fc000040 : 00 07 00 0a 00 00 00 03 00 05 00 04 00 00 00 1a  ................
fc000050 : 00 02 00 00 00 05 00 00 00 01 00 ff 00 01 00 00  ................
fc000060 : 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
fc000070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
fc000080 : 00 50 00 52 00 49 00 31 00 33 00 10 00 02 00 01  .P.R.I.1.3......
fc000090 : 00 00 00 08 00 00 00 00 00 02 00 b5 00 c5 00 05  ................
manufacturer is 2
size_ratio 1 port 16 bits chip 16 bits
found 1 erase regions
long addr is at fc00005a info->portwidth = 2
addr[0] = 0x0
addr[1] = 0xff
addr[2] = 0x0
addr[3] = 0x1
addr[4] = 0x0
addr[5] = 0x0
addr[6] = 0x0
addr[7] = 0x2
erase_region_count = 512 erase_region_size = 131072
ushort addr is at fc000054 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x5
addr[2] = 0x0
addr[3] = 0x0
retval = 0x5
fwc addr fc000000 cmd f0 00f0 16bit x 16 bit
flash detect cfi
fwc addr f4000000 cmd 0 0 8bit x 8 bit
fwc addr f4000055 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr f4000010 is= aa 51
fwc addr f4000000 cmd 0 0000 16bit x 8 bit
fwc addr f40000aa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr f4000020 is= 0051 5151
fwc addr f4000000 cmd 0 0000 16bit x 16 bit
fwc addr f40000aa cmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr f4000020 is= 0051 0051
is= cmd 52(R) addr f4000022 is= 0052 0052
is= cmd 59(Y) addr f4000024 is= 0059 0059
ushort addr is at f4000050 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x2
addr[2] = 0x0
addr[3] = 0x0
retval = 0x2
device interface is 2
found port 2 chip 2 port 16 bits chip 16 bits
ushort addr is at f4000026 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x2
addr[2] = 0x0
addr[3] = 0x0
retval = 0x2
f4000020 : 00 51 00 52 00 59 00 02 00 00 00 40 00 00 00 00  .Q.R.Y..... at ....
f4000030 : 00 00 00 00 00 00 00 27 00 36 00 00 00 00 00 07  .......'.6......
f4000040 : 00 07 00 0a 00 00 00 03 00 05 00 04 00 00 00 1a  ................
f4000050 : 00 02 00 00 00 05 00 00 00 01 00 ff 00 01 00 00  ................
f4000060 : 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
f4000070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
f4000080 : 00 50 00 52 00 49 00 31 00 33 00 10 00 02 00 01  .P.R.I.1.3......
f4000090 : 00 00 00 08 00 00 00 00 00 02 00 b5 00 c5 00 05  ................
manufacturer is 2
size_ratio 1 port 16 bits chip 16 bits
found 1 erase regions
long addr is at f400005a info->portwidth = 2
addr[0] = 0x0
addr[1] = 0xff
addr[2] = 0x0
addr[3] = 0x1
addr[4] = 0x0
addr[5] = 0x0
addr[6] = 0x0
addr[7] = 0x2
erase_region_count = 512 erase_region_size = 131072
ushort addr is at f4000054 info->portwidth = 2
addr[0] = 0x0
addr[1] = 0x5
addr[2] = 0x0
addr[3] = 0x0
retval = 0x5
fwc addr f4000000 cmd f0 00f0 16bit x 16 bit
flash_protect ON: from 0xFFF80000 to 0xFFFA4EFF
protect on 508
protect on 509
flash_protect ON: from 0xFFFC0000 to 0xFFFFFFFF
protect on 510
protect on 511
128 MB
L2 cache 512KB: enabled
In:    serial
Out:   serial
Err:   serial
U-Boot relocated to 3ffd0000
Net:   eTSEC0: PHY is Broadcom BCM5464R (2060b1)
eTSEC0: PHY found: Broadcom BCM5464R
eTSEC1: PHY is Broadcom BCM5464R (2060b1)
eTSEC1: PHY found: Broadcom BCM5464R
eTSEC2: PHY is Broadcom BCM5464R (2060b1)
eTSEC2: PHY found: Broadcom BCM5464R
eTSEC3: PHY is Broadcom BCM5464R (2060b1)
eTSEC3: PHY found: Broadcom BCM5464R
eTSEC0, eTSEC1, eTSEC2, eTSEC3
### main_loop entered: bootdelay=10

### main_loop: bootcmd="setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console"
Hit any key to stop autoboot:  0
=> setenv ethact eTSEC2
=> tftp 1000000 uImage
Trying eTSEC2
DEBUG: TSEC INIT
!!!!mii_parse_se else!!!
Speed: 1000, full duplex
Using eTSEC2 device
TFTP from server 192.168.0.33; our IP address is 192.168.0.10
Filename 'uImage'.
Load address: 0x1000000
Loading: T #################################################################
         #################################################################
         #################################################################
         ##################
done
Bytes transferred = 1090547 (10a3f3 hex)
=> tftp 2000000 rootfs.ext2.gz.uboot
Trying eTSEC2
DEBUG: TSEC INIT
!!!!mii_parse_se else!!!
Speed: 1000, full duplex
Using eTSEC2 device
TFTP from server 192.168.0.33; our IP address is 192.168.0.10
Filename 'rootfs.ext2.gz.uboot'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##############################################
done
Bytes transferred = 3228260 (314264 hex)
=> bootm 1000000 2000000
## Booting image at 01000000 ...
   Image Name:   Linux-2.6.10_mvl401-8548cds
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1090483 Bytes =  1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Current stack ends at 0x3FFADD48 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF38
bd address  = 0x3FFADFB0
memstart    = 0x00000000
memsize     = 0x40000000
flashstart  = 0xF4000000
flashsize   = 0x08000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
immr_base   = 0xEA000000
bootflags   = 0xEAC13F80
intfreq     = 1039.500 MHz
busfreq     =    297 MHz
ethaddr     = 00:E0:0C:00:00:FD
eth1addr    = 00:E0:0C:00:01:FD
eth2addr    = 00:E0:0C:00:02:FD
eth3addr    = 00:E0:0C:00:03:FD
IP addr     = 192.168.0.10
baudrate    = 115200 bps
## Loading RAMDisk Image at 02000000 ...
   Image Name:   uboot ext2 ramdisk rootfs
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    3228196 Bytes =  3.1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## initrd at 0x02000040 ... 0x02314263 (len=3228196=0x314224)
   Loading Ramdisk to 3fc99000, end 3ffad224 ... OK
## Transferring control to Linux (at address 00000000) ...
Memory CAM mapping: CAM0=256Mb, CAM1=256Mb, CAM2=256Mb residual: 256Mb
mem_pieces_remove: [3fc99000,3ffad224) not in any region
Linux version 2.6.10_mvl401-8548cds (root at localhost.localdomain) (gcc version 3.4.3 (MontaVista 3.4.3-25.0.70.0501961 2005-12-18)) #26 Tue Oct 17 14:57:26 6
Garp2_setup_arch
Built 1 zonelists
Kernel command line: root=/dev/ram rw ramdisk_size=11440 console=ttyS1,115200
OpenPIC Version 1.2 (1 CPUs and 60 IRQ sources) at fdfbe000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 776960k available (1684k kernel code, 532k data, 120k init, 0k highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
spawn_desched_task(00000000)
desched cpu_callback 3/00000000
ksoftirqd started up.
desched cpu_callback 2/00000000
checking if image is initramfs...<2>Kernel stack overflow in process c0961900, r1=c0962070

/************************************************************/

Thanks in advance for the reply.


------------------------------------------------------
Risparmia fino al 30% sulla Rc auto e approffitta dello sconto extra del 10%, fino al 31 Ottobre! Scegli Direct Line!
http://click.libero.it/direct_line6






More information about the U-Boot mailing list