- Linux version 2.6.26.3 (gr1x@mars) (gcc version 4.2.2) #1 Mon Sep 8 23:39:50 CS8
- console [udbg0] enabled
- setup_arch: bootmem
- arch: exit
- Zone PFN ranges:
- DMA 0 -> 131072
- Normal 131072 -> 131072
- Movable zone start PFN for each node
- early_node_map[1] active PFN ranges
- 0: 0 -> 131072
- Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
- Kernel command line:
- UIC3 (32 IRQ sources) at DCR 0x200
- UIC0 (32 IRQ sources) at DCR 0xc0
- UIC1 (32 IRQ sources) at DCR 0xd0
- UIC2 (32 IRQ sources) at DCR 0x210
- Unable to handle kernel paging request for data at address 0x00000000
- Faulting instruction address: 0xc0010a2c
- Oops: Kernel access of bad area, sig: 11 [#1]
- Galaxy
- Modules linked in:
- NIP: c0010a2c LR: c01418cc CTR: c0013aec
- REGS: c0265e60 TRAP: 0300 Not tainted (2.6.26.3)
- MSR: 00021000 <ME> CR: 84e22448 XER: 20000000
- DEAR: 00000000, ESR: 00000000
- TASK = c024d4a0[0] 'swapper' THREAD: c0264000
- GPR00: c014190c c0265f10 c024d4a0 00000000 c01f6103 ffffffff 00000000 00000090
- GPR08: 00000000 00000069 c025be8c c07faafb 42e22484 4a1060c1 1ffe5f00 00000000
- GPR16: 1ffdb7e4 1ffe0178 00000000 00000000 00000000 00000000 1ffe111c 00000006
- GPR24: 00000000 00000000 c00161f4 c01f6220 dfffe434 c0265f48 c01f6104 dffff048
- NIP [c0010a2c] strcmp+0x8/0x24
- LR [c01418cc] of_find_property+0x4c/0x7c
- Call Trace:
- [c0265f10] [c0047784] set_irq_type+0x60/0x98 (unreliable)
- [c0265f30] [c014190c] of_get_property+0x10/0x34
- [c0265f40] [c0141ce8] of_device_is_compatible+0x24/0xa0
- [c0265f70] [c0141f54] of_find_compatible_node+0x78/0xc4
- [c0265f90] [c023303c] uic_init_tree+0x140/0x17c
- [c0265fb0] [c022e7e0] init_IRQ+0x24/0x34
- [c0265fc0] [c02288f8] start_kernel+0x174/0x2a8
- [c0265ff0] [c00001e8] skpinv+0x190/0x1cc
- Instruction dump:
- 3884ffff 8c050001 2c000000 4082fff8 38a5ffff 8c040001 2c000000 9c050001
- 4082fff4 4e800020 38a3ffff 3884ffff <8c650001> 2c830000 8c040001 7c601851
- ---[ end trace 31fd0ba7d8756001 ]---
- Kernel panic - not syncing: Attempted to kill the idle task!
- Rebooting in 180 seconds..
crash位置是 "console_init()" ...(bdi2000,羡慕)
- after building a debug kernel and attaching the bdi2000 it looks like
- the crash occurs during "console_init()" ...
和我一样,最开始也认为dts文件有问题
- > Kernel starts and crashes with "unable to handle kernel paging request @
- > 00000000".
- >
- > After turning debug on in some files I can see that the initrd memory
- > gets reserved and the dtb is parsed correctly.
- > PCI memory/io spaces are set up fine.
- >
- > At first I thought this is a problem with the device tree since the call
- > trace always points to "of_"-functions and "strcmp".
- >
- Could you provide this call trace?
- -Scott
- ## Booting kernel from Legacy Image at ff810000 ...
- Image Name: 2.6.25 mvBL-M7 MPC8343 #12
- Image Type: PowerPC Linux Kernel Image (uncompressed)
- Data Size: 2494236 Bytes = 2.4 MB
- Load Address: 00000000
- Entry Point: 00000000
- Verifying Checksum ... OK
- Loading Kernel Image ... OK
- OK
- ## Flattened Device Tree blob at 00000000
- Booting using the fdt blob at 0x600000
- ## Loading init Ramdisk from Legacy Image at 01000000 ...
- Image Name: mvBC-1G uInitrd #1.1.03
- Image Type: PowerPC Linux RAMDisk Image (uncompressed)
- Data Size: 2654208 Bytes = 2.5 MB
- Load Address: 00000000
- Entry Point: 00000000
- Verifying Checksum ... OK
- Loading Ramdisk to 1fcb7000, end 1ff3f000 ... OK
- -> early_init_devtree(c0600000)
- search "chosen", depth: 0, uname:
- search "chosen", depth: 1, uname: chosen
- Looking for initrd properties... <3>initrd_start=0xdfcb7000
- initrd_end=0xdff3f000
- Command line is: root=/dev/ram ro rootfstype=squashfs
- dt_root_size_cells = 1
- dt_root_addr_cells = 1
- memory scan node memory, reg size 8, data: 0 20000000 2 1,
- - 0 , 20000000
- reserving: 1fcb7000 -> 288001
- Phys. mem: 20000000
- -> move_device_tree
- <- move_device_tree
- Scanning CPUs ...
- boot cpu: logical 0 physical 0
- <- early_init_devtree()
- Using mvBlueLYNX-M7 machine description
- Linux version 2.6.25-rc8-01197-g1de15bb-dirty (root at nova) (gcc version
- 4.0.0 (DENX ELDK 4.1 4.0.0)) #12 PREEMPT Wed Apr 9 14:40:48 CEST 2008
- -> unflatten_device_tree()
- size is 192c, allocating...
- unflattening dfffe6d0...
- fixed up name for ->
- fixed up name for chosen -> chosen
- fixed up name for wdt at 200 -> wdt
- fixed up name for ethernet-phy at 0 -> ethernet-phy
- fixed up name for ethernet-phy at 1 -> ethernet-phy
- fixed up name for ethernet at 24000 -> ethernet
- fixed up name for ethernet at 25000 -> ethernet
- fixed up name for serial at 4500 -> serial
- fixed up name for serial at 4600 -> serial
- fixed up name for pic at 700 -> pic
- fixed up name for ppcboot_env at 0 -> ppcboot_env
- fixed up name for ppcboot_env_red at 0x2000 -> ppcboot_env_red
- fixed up name for u-boot_autoscript at 0x4000 -> u-boot_autoscript
- fixed up name for u-boot_autoscript_red at 0x4000 -> u-boot_autoscript_red
- fixed up name for dtb at 0x8000 -> dtb
- fixed up name for dtb_red at 0xa000 -> dtb_red
- fixed up name for kernel at 0x10000 -> kernel
- fixed up name for rfs at 0x400000 -> rfs
- fixed up name for u-boot at 0x700000 -> u-boot
- fixed up name for fpga at 0x780000 -> fpga
- <- unflatten_device_tree()
- Found initrd at 0xdfcb7000:0xdff3f000
- -> find_legacy_serial_port()
- stdout is /soc8343 at e0000000/serial at 4500
- legacy_serial_console = 0
- default console speed = 115740
- <- find_legacy_serial_port()
- console [udbg0] enabled
- setup_arch: bootmem
- mvblm7_setup_arch()
- arch: exit
- Zone PFN ranges:
- DMA 0 -> 131072
- Normal 131072 -> 131072
- Movable zone start PFN for each node
- early_node_map[1] active PFN ranges
- 0: 0 -> 131072
- Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
- Kernel command line: root=/dev/ram ro rootfstype=squashfs
- PID hash table entries: 2048 (order: 11, 8192 bytes)
- clocksource: timebase mult[3c00001] shift[22] registered
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- -> check_legacy_serial_console()
- can't find stdout package /soc8343 at e0000000/serial at 4500 !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
- Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
- Memory: 514048k/524288k available (2328k kernel code, 9676k reserved,
- 88k data, 126k bss, 140k init)
- SLUB: Genslabs=12, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
- Mount-cache hash table entries: 512
- ------------[ cut here ]------------
- Badness at lib/kref.c:43
- NIP: c00f5494 LR: c000d6b0 CTR: 00000000
- REGS: c025de60 TRAP: 0700 Not tainted (2.6.25-rc8-01197-g1de15bb-dirty)
- MSR: 00029032 <EE,ME,IR,DR> CR: 84000048 XER: 00000000
- TASK = c0248510[0] 'swapper' THREAD: c025c000
- GPR00: 00000001 c025df10 c0248510 dffff170 dffff050 00000009 df80fc6a
- 00000000
- GPR08: 0007ffff 00000000 df80b990 c06011cf 24000042 5fffffff 1fffd000
- 00000000
- GPR16: 1fffffff 9fffffff 00000000 00000000 1fff8910 1ff426f8 00000004
- 00288000
- GPR24: 00000000 00000000 c02630a0 c0260000 dfffefa0 c025c000 dffff050
- dffff13c
- NIP [c00f5494] kref_get+0xc/0x24
- LR [c000d6b0] of_node_get+0x20/0x38
- Call Trace:
- [c025df10] [c06011cf] 0xc06011cf (unreliable)
- [c025df20] [c01571a4] of_get_next_child+0x40/0x9c
- [c025df40] [c00bab5c] proc_device_tree_add_node+0x4c/0x144
- [c025df60] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025df80] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025dfa0] [c00bacc8] proc_device_tree_init+0x74/0xa0
- [c025dfb0] [c0235c70] proc_root_init+0xd4/0x10c
- [c025dfc0] [c022374c] start_kernel+0x244/0x2cc
- [c025dff0] [00003438] 0x3438
- Instruction dump:
- 4bf289e1 7fa3eb78 3ba00000 4bfff3ad 4bffffd8 90830000 4e800020 38800001
- 4bfffff4 80030000 21200000 7c090114 <0f000000> 7d201828 31290001 7d20192d
- WARNING: Bad of_node_put() on
- Call Trace:
- [c025ded0] [c00088fc] show_stack+0x50/0x190 (unreliable)
- [c025df00] [c000de70] of_node_release+0xb0/0xcc
- [c025df20] [c00f5500] kref_put+0x54/0x6c
- [c025df30] [c000d6ec] of_node_put+0x24/0x34
- [c025df40] [c00babc8] proc_device_tree_add_node+0xb8/0x144
- [c025df60] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025df80] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025dfa0] [c00bacc8] proc_device_tree_init+0x74/0xa0
- [c025dfb0] [c0235c70] proc_root_init+0xd4/0x10c
- [c025dfc0] [c022374c] start_kernel+0x244/0x2cc
- [c025dff0] [00003438] 0x3438
- Unable to handle kernel paging request for data at address 0x00000000
- Faulting instruction address: 0xc0014454
- Oops: Kernel access of bad area, sig: 11 [#1]
- PREEMPT mvBlueLYNX-M7
- Modules linked in:
- NIP: c0014454 LR: c00ba9e0 CTR: 00000000
- REGS: c025de70 TRAP: 0300 Not tainted (2.6.25-rc8-01197-g1de15bb-dirty)
- MSR: 00009032 <EE,ME,IR,DR> CR: 44000048 XER: 00000000
- DAR: 00000000, DSISR: 20000000
- TASK = c0248510[0] 'swapper' THREAD: c025c000
- GPR00: c00bac0c c025df20 c0248510 00000023 ffffffff df80fd60 df80fd6e
- 00000000
- GPR08: 001fffff 00000002 df80b990 c06010f5 24000022 5fffffff 1fffd000
- 00000000
- GPR16: 1fffffff 9fffffff 00000000 00000000 1fff8910 1ff426f8 00000004
- 00288000
- GPR24: 00000000 00000000 c02630a0 c0260000 dfffefa0 00000000 c025c000
- df80fd00
- NIP [c0014454] strcmp+0x10/0x24
- LR [c00ba9e0] duplicate_name+0x3c/0x94
- Call Trace:
- [c025df20] [c00ba870] __proc_device_tree_add_prop+0x54/0xd4 (unreliable)
- [c025df40] [c00bac0c] proc_device_tree_add_node+0xfc/0x144
- [c025df60] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025df80] [c00bab50] proc_device_tree_add_node+0x40/0x144
- [c025dfa0] [c00bacc8] proc_device_tree_init+0x74/0xa0
- [c025dfb0] [c0235c70] proc_root_init+0xd4/0x10c
- [c025dfc0] [c022374c] start_kernel+0x244/0x2cc
- [c025dff0] [00003438] 0x3438
- Instruction dump:
- 2c000000 4082fff8 38a5ffff 8c040001 2c000000 9c050001 4082fff4 4e800020
- 38a3ffff 3884ffff 8c650001 2c830000 <8c040001> 7c601851 4d860020 4182ffec
- ---[ end trace 8640abe69a316dee ]---
- Kernel panic - not syncing: Attempted to kill the idle task!
- Rebooting in 180
- seconds..
- > It looks like you have some memory corruption between here...
- >
- >
- > ...and here.
- >
- > -Scott
- Scott,
- are you talking about a possible hardware problem or misbehaving code ?
- Does it look like something gets overwritten during initrd
- extraction/movement ?
- The system has 512MB RAM which means that we need 2 BAT regs to map the
- memory. I've found comments in Freescale u-boot header files that
- currently a max of 256MB is supported. I never understood why ? Could
- this problem be related to this ?
- Do I need to supply reserved memory regions ? I thought u-boot is doing
- so for initrd and the kernel don't need it ...
- I'll rebuild u-boot with 256MB memory size and do an extra run with
- memory test - just to make sure.
- Any hints where to look else ?
- Scott + Kim,
- as mentioned before I have re-built u-boot with the following
- modifications :
- - Reduce Memsize from 512 to 256MB
- - Skipped 2nd BAT setup
- dtb looks the same but memory size set to 256MB.
- System boots fine - this is weird !
- I'm not really familiar with the powerpc tree of the kernel and far out
- of sync with the current development.
- Could you have a look at this ?
- Any ideas right now ?
- Thanks,
- Andre
不能用bdi2000调试,真是很郁闷,不知道具体的代码位置,下午再玩玩kdb。