UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor nollan
Visitor
3,552 Views
Registered: ‎04-11-2012

linux kernel hangs

Hello,

 

I am using the guides at xilinx wiki to build the linux kernel for microblaze on a nexys2 board. I know this isn't supported/tested but I figured I'd give it a try.

 

I've made some progress, however the kernel hangs during boot. This is my output.

 

--------------------------------------------------------------------

Early console on uartlite at 0x84000000

bootconsole [earlyser0] enabled
Linux version 3.4.0-rc2-45782-g258f742-dirty (root@debian) (gcc version 4.1.2) #10 Wed Apr 11 20:12:51 CEST 2012
setup_cpuinfo: initialising
setup_cpuinfo: No PVR support. Using static CPU info from FDT
cache: wt_msr_noirq
setup_memory: max_mapnr: 0x1000
setup_memory: min_low_pfn: 0x80000
setup_memory: max_low_pfn: 0x81000
setup_memory: max_pfn: 0x81000
Zone PFN ranges:
DMA 0x00080000 -> 0x00081000
Normal empty
Movable zone start PFN for each node
Early memory PFN ranges
0: 0x00080000 -> 0x00081000
On node 0 totalpages: 4096
free_area_init_node: node 0, pgdat c0344238, node_mem_map c0569000
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
early_printk_console remapping from 0x84000000 to 0xffffd000
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064
Kernel command line: console=ttyUL0 root=/dev/ram
PID hash table entries: 64 (order: -4, 256 bytes)
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 10640k/16384k available (3236k kernel code, 5744k reserved, 111k data, 166k bss, 2013k init)
Kernel virtual memory layout:
* 0xffffe000..0xfffff000 : fixmap
* 0xffffd000..0xffffe000 : early ioremap
* 0xf0000000..0xffffd000 : vmalloc & ioremap

--------------------------------------------------------------------

 

I'm not sure on how to debug this to investigate further. Any pointers or suggestions are appreciated!

 

Thanks!

/J 

 

 

Tags (3)
0 Kudos
2 Replies
Visitor nollan
Visitor
3,526 Views
Registered: ‎04-11-2012

Re: linux kernel hangs

If I stop the processor during this "hang", it is stuck in some code not related to the kernel (?), that would be adresses of 0xc0000000. Is this some sort of exception ? I baffled...

 

RUNNING> XMD% stop
Processor stopped

XMD% User Interrupt, Processor Stopped at 0x80001fa4

XMD% rrd

r0: 00000000 r1: c0331f84 r2: c032fa48 r3: c033542c
r4: 000000b8 r5: c03353b8 r6: 00000000 r7: 00000000
r8: 00000330 r9: 00000001 r10: 00000000 r11: 00000000
r12: 4108ce80 r13: c0344ec0 r14: 00000000 r15: c035d3f0
r16: 00000000 r17: c0003a98 r18: ffff9a60 r19: c0331f84
r20: 00000000 r21: c0344ec0 r22: c03353b8 r23: 000065a0
r24: 000f4240 r25: 00000000 r26: 00000000 r27: 00000000
r28: 00000000 r29: 00000000 r30: 00000000 r31: c03353b8
pc: 80001fa4 msr: 000046a0

 

 

0 Kudos
Visitor nollan
Visitor
3,473 Views
Registered: ‎04-11-2012

Re: linux kernel hangs

Finally, I got some output from where it hangs, and it seems to be related to softirq. I have an interrupt controller in the design, obviously, but there isn't much options to set.

 

Again, I'm thankful for any help regarding this.

 

------------[ cut here ]------------
WARNING: at kernel/softirq.c:138 __local_bh_enable+0xb8/0xc8()
Modules linked in:
Kernel Stack:
852d3e08: 85008154 852e1940
852d3e10: 00000000 00000000 8523f5d0 0000008a 8500ecb8 8500819c 8523ef04 8523f5d0
852d3e30: 0000008a 8500ecb8 852fe7b0 000005ae 852d2000 00000200 852d4328 00000000
852d3e50: 00004345 8500ecb0 00000000 00004000 8513a71c 00000000 85051fd8 852e1ef8
852d3e70: 8500f05c 8506e608 00000000 8506e5e8 00000000 8506e7a4 8500f244 852d2000
852d3e90: 00000000 8500f2a8 858011e0 8506ec90 852e1940 852d3ef8 00000000 852d2000
852d3eb0: 85001720 8506ec90 00000000 000005a0 00000000 85800120 85800300 852d3ef8
852d3ed0: 00000000 85005160 00008000 85005668 8506ea1c 8506e608 00000000 8506e5e8
852d3ef0: 852d3f90 000005a0 00000000 852d3f90 852d0c48 fffffffc 852d4474 00001a81
852d3f10: 00000001 00000000 850031bc 389fd980 852e28ec 00000000 00000000 852e1fe0
852d3f30: 00000010 852f7a18 00000000 850031bc 00000000 852d3f90 00000000 85321bc0
852d3f50: 000005a0 852d4328 00000000 00004345 8526ba88 00006268 85268488 00000000
852d3f70: 00000000 852d4328 00000010 000006a2 00000000 00000002 00000000 00000001
852d3f90: 852e7c48 00000000 00000000 00000001 852e28d4 00000001 00000000 000000d8
852d3fb0: 852fe0a4 000005a0 852e28ec 00000000 00000000 00000000 00000000 852f7a18
852d3fd0: 00000000 00000000 00000000 8523c2bc 852f8674 ffffffff 00000486 852fe7b0
852d3ff0: 00000486 852fe0a4 85312338 00000000


Call Trace:
[<8500385c>] microblaze_unwind+0x74/0x8c
[<85003504>] show_stack+0x104/0x164
[<8500356c>] dump_stack+0x8/0x20
[<85008150>] warn_slowpath_common+0x80/0xbc
[<85008198>] warn_slowpath_null+0xc/0x24
[<8500ecac>] __local_bh_enable+0xac/0xc8
[<8500f058>] _local_bh_enable+0x4/0x1c
[<8500f2a4>] irq_enter+0x74/0x8c
[<8500171c>] do_IRQ+0x20/0xd8
IRQ
[<00000010>] 0x10

---[ end trace 139ce121c98e96c9 ]---

0 Kudos