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

sywang sywang at dongniannetworks.com
Wed Nov 3 02:00:13 CET 2010


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 at dongniannetworks.com] 
Sent: 2010年11月2日 16:13
To: 'Albert ARIBAUD'
Cc: 'u-boot at 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 at -ENG.0000) 
Built by wangsy at 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 at -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 at free.fr] 
Sent: 2010年11月2日 15:44
To: sywang
Cc: u-boot at 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,
-- 
Albert.



More information about the U-Boot mailing list