public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Bad page state in process 'swapper'
@ 2010-11-03  1:00 sywang
  2010-11-03  5:56 ` Albert ARIBAUD
  0 siblings, 1 reply; 8+ messages in thread
From: sywang @ 2010-11-03  1:00 UTC (permalink / raw)
  To: u-boot

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.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [U-Boot] arm: wrong Relocation and not cleared BSS
@ 2010-11-02  7:18 V, Aneesh
  2010-11-02  7:37 ` [U-Boot] Bad page state in process 'swapper' sywang
  0 siblings, 1 reply; 8+ messages in thread
From: V, Aneesh @ 2010-11-02  7:18 UTC (permalink / raw)
  To: u-boot

Hi Albert, 

> -----Original Message-----
> From: Albert ARIBAUD [mailto:albert.aribaud at free.fr]
> Sent: Tuesday, November 02, 2010 12:02 PM
> To: V, Aneesh
> Cc: hs at denx.de; Alexander Holler; Darius Augulis; u-
> boot at lists.denx.de
> Subject: Re: arm: wrong Relocation and not cleared BSS
> 
> Le 02/11/2010 06:58, V, Aneesh a ?crit :
> > Hi Heiko,
> >
> >> -----Original Message-----
> >> From: u-boot-bounces at lists.denx.de [mailto:u-boot-
> >> bounces at lists.denx.de] On Behalf Of V, Aneesh
> >> Sent: Tuesday, November 02, 2010 11:10 AM
> >> To: hs at denx.de; Alexander Holler
> >> Cc: Darius Augulis; u-boot at lists.denx.de
> >> Subject: Re: [U-Boot] arm: wrong Relocation and not cleared BSS
> >>
> >>
> >> Assembly listing:
> >> *****************
> >> 80e8017c<_board_init_r_ofs>:
> >> 80e8017c:       00000748        .word   0x00000748
> >>
> >> 80e80180<_rel_dyn_start_ofs>:
> >> 80e80180:       0002358c        .word   0x0002358c
> >>
> >> 80e80184<_rel_dyn_end_ofs>:
> >> 80e80184:       0002358c        .word   0x0002358c
> >>
> >> 80e80188<_dynsym_start_ofs>:
> >> 80e80188:       0002358c        .word   0x0002358c
> >>
> >
> > I don't know if this was clear in the previous mail. Please note
> that
> > last three labels have same value.
> >
> > Best regards,
> > Aneesh
> 
> Aneesh,
> 
> This has been seen on tx25 and analyzed over the last few days. The
> root
> cause was found to be a change in the .rel.dyn handling by the
> compilers. See if the fixes in
> 
> <http://article.gmane.org/gmane.comp.boot-loaders.u-boot/88156>
> <http://article.gmane.org/gmane.comp.boot-loaders.u-boot/88157>
> <http://article.gmane.org/gmane.comp.boot-loaders.u-boot/88158>
> 
> can apply to your board; either the .lds fix as done in the first
> two
> patches, or the fix in the third one, or both.

Thanks. This helps. I did the .lds change and it seems to be booting
now. 

However, I can't still explain my earlier observation because even in 
the absence of this fix .rel.dyn had some content and the offsets 
should have been different if I were to believe objdump.

Do you have any clue? 

Best regards,
Aneesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-11-03  5:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-03  1:00 [U-Boot] Bad page state in process 'swapper' sywang
2010-11-03  5:56 ` Albert ARIBAUD
  -- strict thread matches above, loose matches on Subject: below --
2010-11-02  7:18 [U-Boot] arm: wrong Relocation and not cleared BSS V, Aneesh
2010-11-02  7:37 ` [U-Boot] Bad page state in process 'swapper' sywang
2010-11-02  7:44   ` Albert ARIBAUD
2010-11-02  8:13     ` sywang
2010-11-02  8:44       ` Wolfgang Denk
2010-11-02  8:40   ` Wolfgang Denk
2010-11-03  2:29     ` sywang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox