[#6453] SMP kernel fails to boot on bf561-ezkit in trunk
Submitted By: Vivi Li
Open Date
2011-01-17 22:30:16 Close Date
2011-05-30 05:50:56
Priority:
Medium Assignee:
steven miao
Status:
Closed Fixed In Release:
N/A
Found In Release:
2011R1 Release:
Category:
N/A Board:
N/A
Processor:
BF561 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.3-2010_Dec_09
App binary format:
N/A
Summary: SMP kernel fails to boot on bf561-ezkit in trunk
Details:
SMP kernel crashed on bf561-ezkit in trunk.
--
Linux version 2.6.37-ADI-2011R1-pre-svn9570 (test@uclinux65-561-SMP) (gcc version 4.3.5 (ADI-trunk/svn-5013) ) #171 SMP Tue Jan 1
register early platform devices
bootconsole [early_shadow0] enabled
bootconsole [early_BFuart0] enabled
early printk enabled on early_BFuart0
Board Memory: 64MB
Kernel Managed Memory: 64MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x00122840
rodata = 0x00122840-0x0017a9cc
bss = 0x0017b000-0x0018d1a0
data = 0x0018d1a0-0x001a0000
stack = 0x0019e000-0x001a0000
init = 0x001a0000-0x00734000
available = 0x00734000-0x03f00000
DMA Zone = 0x03f00000-0x04000000
Hardware Trace Active and Enabled
Boot Mode: 0
Reset caused by Software reset
Blackfin support (C) 2004-2010 Analog Devices, Inc.
Compiled for ADSP-BF561 Rev 0.5
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 600 MHz core clock and 100 MHz System Clock
NOMPU: setting up cplb tables
NOMPU: setting up cplb tables
Instruction Cache Enabled for CPU0
External memory: cacheable in instruction cache
L2 SRAM : uncacheable in instruction cache
Data Cache Enabled for CPU0
External memory: cacheable (write-through) in data cache
L2 SRAM : uncacheable in data cache
PERCPU: Embedded 8 pages/cpu @007b9000 s8288 r8192 d16288 u32768
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16002
Kernel command line: root=/dev/mtdblock0 rw clkin_hz=30000000 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50f
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory available: 56492k/65536k RAM, (5712k init code, 1158k kernel code, 502k data, 1024k dma, 648k reserved)
Hierarchical RCU implementation.
NR_IRQS:153
Configuring Blackfin Priority Driven Interrupts
console [ttyBF0] enabled, bootconsole disabled
console [ttyBF0] enabled, bootconsole disabled
Calibrating delay loop... 1191.93 BogoMIPS (lpj=2383872)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CoreB bootstrap code to SRAM ff600000 via DMA.
------------[ cut here ]------------
kernel BUG at kernel/workqueue.c:2797!
Kernel panic - not syncing: BUG()
Hardware Trace:
0 Target : <0x000045c0> { _trap_c + 0x0 }
Source : <0x0000af4c> { _exception_to_level5 + 0xb4 } CALL pcrel
1 Target : <0x0000af1a> { _exception_to_level5 + 0x82 }
Source : <0x0000af16> { _exception_to_level5 + 0x7e } IF !CC JUMP pcrel
2 Target : <0x0000ae98> { _exception_to_level5 + 0x0 }
Source : <0x0000ad3c> { _bfin_return_from_exception + 0x20 } RTX
3 Target : <0x0000ad1c> { _bfin_return_from_exception + 0x0 }
Source : <0x0000adf0> { _ex_trap_c + 0x84 } JUMP.S
4 Target : <0x0000ad84> { _ex_trap_c + 0x18 }
Source : <0x0000ad80> { _ex_trap_c + 0x14 } IF !CC JUMP pcrel
5 Target : <0x0000ad6c> { _ex_trap_c + 0x0 }
Source : <0x0000b06c> { _trap + 0xb4 } JUMP (P4)
6 Target : <0x0000b02c> { _trap + 0x74 }
Source : <0x0000b028> { _trap + 0x70 } IF !CC JUMP pcrel
7 Target : <0x0000b012> { _trap + 0x5a }
Source : <0x0000b00e> { _trap + 0x56 } IF CC JUMP pcrel
8 Target : <0x0000affe> { _trap + 0x46 }
Source : <0x0000afec> { _trap + 0x34 } JUMP.S
9 Target : <0x0000afb8> { _trap + 0x0 }
FAULT : <0x00029dec> { ___alloc_workqueue_key + 0xbc } BUG
Source : <0x00029dea> { ___alloc_workqueue_key + 0xba } IF CC JUMP pcrel (BP)
10 Target : <0x00029de4> { ___alloc_workqueue_key + 0xb4 }
Source : <0x00029edc> { ___alloc_workqueue_key + 0x1ac } JUMP.S
11 Target : <0x00029eda> { ___alloc_workqueue_key + 0x1aa }
Source : <0x0005190e> { _pcpu_alloc + 0x2ae } RTS
12 Target : <0x000518e8> { _pcpu_alloc + 0x288 }
Source : <0x00121ce2> { _mutex_unlock + 0x26 } RTS
13 Target : <0x00121cd8> { _mutex_unlock + 0x1c }
Source : <0x0000d316> { ___raw_atomic_update_asm + 0x1a } RTS
14 Target : <0x0000d312> { ___raw_atomic_update_asm + 0x16 }
Source : <0x0000d012> { _put_core_lock + 0x1a } RTS
15 Target : <0x0000cff8> { _put_core_lock + 0x0 }
Source : <0x0000d30e> { ___raw_atomic_update_asm + 0x12 } JUMP.L
Stack info:
SP: [0x0202bd70] <0x0202bd70> /* kernel dynamic memory (maybe user-space) */
FP: (0x0202bf8c)
Memory from 0x0202bd70 to 0202c000
0202bd70:[0014f528] 00120cfc 0202be68 0014f528 00181b63 00181b63 00181b63 0202bdb8
0202bd90: 0202bf54 000049d8 0202be68 00000000 001547e0 00008008 00002021 00000021
0202bdb0: 00000013 007bab78 0000003f 0000001f 00000002 02028ebc 02028ec0 0000f9e0
0202bdd0: 0202830c 007bab78 02028314 <0000f19c> 02028d60 007bab40 0202be08 0000fac6
0202bdf0: 020282e0 007bab78 00015ce6 020282e0 007bab40 02028d60 0202be40 00121138
0202be10: ffe05000 02028d60 02028ebc 02028d60 0202be58 00121138 0202a008 00001015
0202be30: 00000000 00732c20 00000000 0000ffff 0000af50 0017d000 ffe02014 00008008
0202be50: 00002021 00000100 <020260c8> 7fffffff 00000000 00000480 00000480 00008008
0202be70: 00002021 00000000 0202bf44 00000480 00029dec 00029eda 000000e0 00003004
0202be90: 000a2ebe 000a3cf8 000a2eb4 000a3cf8 00000000 00000000 00000000 00000000
0202beb0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bed0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bef0: 02004000 00000000 00000000 0202bf54 001876a0 020260c0 001547e0 001883f4
0202bf10: 00195fc4 feb00000 00000000 00000100 00000100 <020260c8> 00000001 0000001f
0202bf30: 007352e0 000000e0 000000e0 feb00000 00000006 00000000 001883ec 00000000
0202bf50: 0000001f 00123a1c 001a90c2 001876a0 00000002 00732320 00000000 0017d000
0202bf70: 00123a18 0018dbc0 0011d0e4 0011d0ec 00000000 00000000 00000000 (00000000)
0202bf90:<0000113c> 001b7ebc 0017b00c 001a8f04 0202a000 00000000 00000000 00000000
0202bfb0: 00000000 00000000 ff600000 001a02c0 001b7ebc 001b7ec0 00000000 0202a000
0202bfd0: 00000000 00000000 00000000 00000000 00000002 <000016ae> 00000000 00000000
0202bff0: 00000000 00000000 ffffffff 00000006
Return addresses in stack:
address : <0x0000f19c> { _deactivate_task + 0x34 }
address : <0x020260c8> /* kernel dynamic memory (maybe user-space) */
address : <0x020260c8> /* kernel dynamic memory (maybe user-space) */
frame 1 : <0x0000113c> { _do_one_initcall + 0x94 }
address : <0x000016ae> { _kernel_thread_helper + 0x6 }
--
Follow-ups
--- Vivi Li 2011-01-23 22:33:02
I found the config for 561 smp kernel is wrong. Update build_policy_kernel.exp
to fix this.
--- Vivi Li 2011-01-24 22:27:28
Configuration is OK now. But it will still crash.
--- steven miao 2011-01-31 05:27:53
percpu data is unaligned caused this crash. tuning PERCPU(PAGE_SIZE) definition
in vmlinux.lds.S link script can resolve this unalignment.
--- Vivi Li 2011-05-30 05:59:20
OK. Close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.smp application/octet-stream 29152 Vivi Li