Re: [U-Boot] Bad page state in process 'swapper'

Hi,
I found that vmalloc is not able to allocate the memory. What parameters from u-boot are not right?
Thanks! Shuyou
-----Original Message----- From: sywang [mailto:sywang@dongniannetworks.com] Sent: 2010年11月2日 16:13 To: 'Albert ARIBAUD' Cc: 'u-boot@lists.denx.de' Subject: RE: Bad page state in process 'swapper'
Albert,
Thanks for your reply. My log is shown below. What you say is right. The error information is from Linux. I guess that what parameters passed to Linux by u-boot may be not right. However, I don't know how to identify?
TFTP from server 192.168.5.101; our IP address is 192.168.5.22 Filename 'mips.ari'. Load address: 0x9f00000 Loading: ############################################# done Bytes transferred = 2917360 (2c83f0 hex)
Image is not signed; verifying checksum... passed do_tftpboot, Linux image has been verified: pass do_tftpboot, going to do_bootoctlinux octeon_phy_mem_block_free addr: 0x100000, size: 0x8000000 ELF file is 64 bit block alloc called: req_size: 0x2b25e0, min_addr: 0xa00000, max_addr: 0x0, align: 0x0 Allocated memory for ELF segment: addr: 0xa00000, size 0x2b25e0 block alloc called: req_size: 0xd0, min_addr: 0xcb25e0, max_addr: 0x0, align: 0x0 Allocated memory for ELF segment: addr: 0xcb25e0, size 0xd0 Loading .text @ 0x80a00000 (0x2b25b8 bytes) Clearing .bss @ 0x80cb25c0 (0x20 bytes) Loading .data @ 0x80cb25e0 (0x30 bytes) Loading .MIPS.options @ 0x80cb2610 (0xa0 bytes) naddr 2 addr vec 0, 0x2b25e0 @ 0xa00000 addr vec 1, 0xd0 @ 0xcb25e0 ## Loading OS kernel with entry point: 0x80a00000 ... block alloc called: req_size: 0x77, min_addr: 0x0, max_addr: 0x7fffffff, align: 0x0 block alloc called: req_size: 0x190, min_addr: 0x0, max_addr: 0x7fffffff, align: 0x0 block alloc called: req_size: 0x98, min_addr: 0x0, max_addr: 0x7fffffff, align: 0x0 board type is: 11, CN3010_EVB_HS5 stack expected: 0x0, actual: 0x0 heap_base expected: 0x0, actual: 0x0 heap_top expected: 0x0, actual: 0x0 Entry point (virt): 0x80a00000 Address of start app: 0xffffffff80096d90 Bootloader: Done loading app on coremask: 0x1 octeon_phy_mem_block_free addr: 0x9f00000, size: 0x6000000 octeon_phy_mem_block_free addr: 0x8100000, size: 0x3200 octeon_phy_mem_block_free addr: 0x8103200, size: 0x20000 octeon_phy_mem_block_free addr: 0x8123200, size: 0x32000 do_bootoctlinux, going to start_cores Bringing coremask: 0x1 out of reset! Address of start app: 0xffffffff80070914 block alloc called: req_size: 0x330, min_addr: 0x0, max_addr: 0x40000000, align: 0x0 Bootloader: Starting app at cycle: 0 Welcome to start_cores. (octeon_boot.c:1547) start_cores, going to BOOT_VECTOR_BASE app_start_func_addr 80096d90 ==== start_linux ==== printf_boot_init_vector stack_addr:0x80062f58 code_addr: 0x80070568 k0_val:0x8003ff44 flags:0x0 boot_info_addr:0x800c2440 pad:0x0 pad2:0x0 printf_boot_info_block entry_point:0x80a00000 boot_desc_addr: 0x100080 stack_top:0x0 exception_base:0x1000 cvmx_desc_addr:0x0 flags:0x0 Welcome to start_linux. (cmd_octeon_linux.c:596) Uncompressing.. Welcome to start_kernel. (init/main.c:458)
XXXX Networks XXXXOS Version (build 0000 / label #wangsy@-ENG.0000) Built by wangsy@localhost on 2010-11-02 at 15:09:36 CST (gcc version 3.4.5 Cavium Networks Version: 1.4.0, build 58) Welcome to start_kernel. (init/main.c:472) prom_init(arch/mips/cavium-octeon/setup.c:783) arcs_cmdline: console=ttyS0,9600 prom_init(arch/mips/cavium-octeon/setup.c:790) para[0]: bootoctlinux prom_init(arch/mips/cavium-octeon/setup.c:790) para[1]: 9f00200 prom_init(arch/mips/cavium-octeon/setup.c:790) para[2]: bootver= 1.1.4.0/wangsy@-ENG.0000 CVMSEG size: 2 cache lines (256 bytes) Setting flash physical map for 4MB flash at 0x1f800000 Determined physical RAM map: Welcome to start_kernel. (init/main.c:474) Kernel command line: console=ttyS0,9600 rdinit=/sbin/init Welcome to start_kernel. (init/main.c:505) Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize 128 bytes. Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes. Welcome to start_kernel. (init/main.c:518) Using 500.000 MHz high precision timer. cycles_per_jiffy=1000000 Welcome to start_kernel. (init/main.c:532) Memory: 57344k/65536k available (1918k kernel code, 8144k reserved, 561k data, 2172k init, 0k highmem) Calibrating delay using timer specific routine.. 1000.32 BogoMIPS (lpj=1000323) available. Checking for the multiply/shift bug... no. Checking for the daddi bug... no. Checking for the daddiu bug... no. Welcome to start_kernel. (init/main.c:616) Welcome to rest_init. (init/main.c:396) Welcome to schedule. (kernel/sched.c:2889) Welcome to schedule. (kernel/sched.c:3065) detected lzma initramfs initramfs: LZMA lc=3,lp=0,pb=2,dictSize=8388608,origSize=12677632 Bad page state in process 'swapper' page:a8000000007b3418 flags:0x0000000000000000 mapping:0000000000000000 mapcount:-16711680 count:0 Trying to fix it up, but a reboot is needed Backtrace: Unwound Call Trace: [<ffffffff80211dc8>] dump_stack+0x8/0x48 [<ffffffff80265c98>] bad_page+0x78/0xb0 [<ffffffff80266988>] get_page_from_freelist+0x230/0x488 [<ffffffff80266c44>] __alloc_pages+0x64/0x348 [<ffffffff8027b4ac>] __vmalloc_area_node+0x10c/0x230 [<ffffffff804741cc>] populate_rootfs+0x974/0xae0 [<ffffffff802007e4>] init+0x84/0x530 [<ffffffff8020db58>] kernel_thread_helper+0x10/0x18
Thanks! Shuyou
-----Original Message----- From: Albert ARIBAUD [mailto:albert.aribaud@free.fr] Sent: 2010年11月2日 15:44 To: sywang Cc: u-boot@lists.denx.de Subject: Re: Bad page state in process 'swapper'
Le 02/11/2010 08:37, sywang a écrit :
While U-boot loads the Linux image, I have the following error. Do you have any suggestions on this?
detected lzma initramfs initramfs: LZMA lc=3,lp=0,pb=2,dictSize=8388608,origSize=12677632 Bad page state in process 'swapper' page:a8000000007b3418 flags:0x0000000000000000 mapping:0000000000000000 mapcount:-16711680 count:0 Trying to fix it up, but a reboot is needed Backtrace: Unwound Call Trace: [<ffffffff80211dc8>] dump_stack+0x8/0x48 [<ffffffff80265c98>] bad_page+0x78/0xb0 [<ffffffff80266988>] get_page_from_freelist+0x230/0x488 [<ffffffff80266c44>] __alloc_pages+0x64/0x348 [<ffffffff8027b4ac>] __vmalloc_area_node+0x10c/0x230 [<ffffffff804741cc>] populate_rootfs+0x974/0xae0 [<ffffffff802007e4>] init+0x84/0x530 [<ffffffff8020db58>] kernel_thread_helper+0x10/0x18
Thanks! Shuyou
Hi Shuyou,
This is not 'while u-boot loads Linux', this is 'while Linux boots after it was loaded by u-boot', because these messages are from Linux.
I'd say these messages typically occur when the image (kernel+ramfs) is corrupted. What does u-boot display before jumping to the Linux kernel?
Amicalement,

Le 03/11/2010 02:00, sywang a écrit :
Hi,
I found that vmalloc is not able to allocate the memory. What parameters from u-boot are not right?
Hi Shuyou,
As Wolfgang said, we cannot tell because the code you're using as a bootloader is not mainline u-boot, but a version modified by Cavium. You should turn to the provider of this code for support.
Thanks! Shuyou
Amicalement,
participants (2)
-
Albert ARIBAUD
-
sywang