[Milkymist-devel] Linux port
Sébastien Bourdeauducq
sebastien.bourdeauducq at lekernel.net
Sun Jul 5 00:21:48 PDT 2009
MILKYMIST(tm) BIOS http://www.milkymist.org
(c) 2008, 2009 Sebastien Bourdeauducq
This program is free and excepted software; you can use it, redistribute it
and/or modify it under the terms of the Exception General Public License as
published by the Exception License Foundation; either version 2 of the
License, or (at your option) any later version.
I: BIOS CRC passed (cd2dfb74)
I: Running on Xilinx ML401 development board
I: Checking if SDRAM clocking is functional :
I: PLL#1: Locked
I: PLL#2: Locked
I: Initializing SDRAM [DDR200 CL=2 BL=8]...OK
I: SDRAM test...8/64MB tested OK
I: Press Q to abort boot
I: Attempting serial firmware loading
sL5DdSMmkekro
[FLTERM] Received firmware download request from the device
[FLTERM] Uploading firmware (2010852 bytes)
[FLTERM] Firmware upload complete (15.3KB/s), booting the device
[FLTERM] Done.
[42949372.960000] Linux version 2.6.23 (lekernel at pm) (gcc version 4.4.0 (GCC)
) #48 Sun Jul 5 00:01:43 CEST 2009
[42949372.960000] console [early0] enabled
[42949372.960000] memory from 40223000 - 44000000
[42949372.960000] reserving initrd memory: 40400000 size 200000
[42949372.960000] start_mem is 0x40223000
[42949372.960000] virtual_end is 0x44000000
[42949372.960000] before free_area_init
[42949372.960000] free_area_init -> start_mem is 0x40223000
[42949372.960000] virtual_end is 0x44000000
[42949372.960000] after free_area_init
[42949372.960000] Built 1 zonelists in Zone order. Total pages: 276352
[42949372.960000] Kernel command line: console=early
[42949372.960000] PID hash table entries: 4096 (order: 12, 16384 bytes)
[42949372.960000] BUG: spinlock bad magic on CPU#0, swapper/0
[42949372.960000] lock: 401deab8, .magic: 00000001, .owner: <none>/-1,
.owner_cpu: -559067475
[42949372.960000]
[42949372.960000] Call Trace:
[42949372.960000] [<400f5aa4>] _raw_spin_lock+0xac/0x1c4
[42949372.960000] [<40183c28>] _spin_lock+0xc/0x18
[42949372.960000] [<401d0000>] __kstrtab_srcu_read_lock+0x0/0x10
[42949372.960000] [<40015b88>] timer_interrupt+0x2c/0xa4
[42949372.960000] [<40049a38>] handle_IRQ_event+0x64/0xc4
[42949372.960000] [<4004b27c>] handle_simple_irq+0x94/0x124
[42949372.960000] [<40016298>] asm_do_IRQ+0x9c/0xe0
[42949372.960000] [<400130d8>] interrupt_handler+0x18/0x20
[42949372.960000] [<40020af8>] release_console_sem+0x31c/0x328
[42949372.960000] [<40020b00>] release_console_sem+0x324/0x328
[42949372.960000] [<40020538>] vprintk+0x2c4/0x3fc
[42949372.960000] [<401b0000>] v.28472+0x1eb90/0x3923c
[42949372.960000] [<40020538>] vprintk+0x2c4/0x3fc
[42949372.960000] [<40020548>] vprintk+0x2d4/0x3fc
[42949372.960000] [<40183fe0>] printk+0x30/0x50
[42949372.960000] [<40000014>] _sinittext+0x14/0x20
[42949372.960000] [<401ba774>] v.28472+0x29304/0x3923c
[42949372.960000] [<400e8be8>] locking_selftest+0x90/0x1c64
[42949372.960000] [<401c3f30>] v.28472+0x32ac0/0x3923c
[42949372.960000] [<40000b28>] start_kernel+0x318/0x3d4
[42949372.960000] [<40000020>] hang+0x0/0x4
[42949372.960000] [<40000000>] _sinittext+0x0/0x20
[42949372.960000] [<401ba774>] v.28472+0x29304/0x3923c
It looks like something damages the xtime_lock seqlock, resulting in the crash
later on (locking it at the beginning of the kernel execution works, then it
gets damaged, and locking it again prints this message). I think it is
relevant to use a debugger or simulator since tracking down what did that
using printk() sounds very tedious.
Sébastien
More information about the Devel
mailing list