Hi, I am building an MV linux 2.6 kernel for a xilinx mini-module evm and I get the following crash: Linux/PPC load: console=tty1 console=ttyS0,9600 ip=on root=/dev/ram rw Uncompressing Linux...done. Now booting the kernel Linux version 2.6.10_mvl401-ml40x (Administrator@Rachel_d600) (gcc version
3.4.3 (MontaVista 3.4.3-25.0.100.0600797 2006-06-06)) #8 Wed Sep 20 20:01:03 EDT 2006 Xilinx ML40x Reference System (Virtex-4 FX) Port by MontaVista Software, Inc. ( snipped-for-privacy@mvista.com) Built 1 zonelists Kernel command line: console=tty1 console=ttyS0,9600 ip=on root=/dev/ram rw Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000 PID hash table entries: 512 (order: 9, 8192 bytes) hr_time_init: arch_to_nsec = 20971520, nsec_to_arch = 429496729 Console: colour dummy device 80x25 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 62848k available (1452k kernel code, 452k data, 116k init, 0k highmem) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Badness in __schedule at kernel/sched.c:2842 Call trace: [c0003a64] check_bug_trap+0x98/0xdc [c0003c98] ProgramCheckException+0x1f0/0x2b4 [c00032a4] ret_from_except_full+0x0/0x4c [c01674c4] __schedule+0x28/0x728 [c0167c34] preempt_schedule+0x70/0xa4 [c003e04c] buffered_rmqueue+0x2ec/0x2f8 [c003e120] __alloc_pages+0xc8/0x3ac [c003e42c] __get_free_pages+0x28/0x68 [c0042c80] cache_alloc_refill+0x32c/0x5d0 [c00426dc] kmem_cache_alloc+0x68/0x6c [c006436c] sget+0xc4/0x3fc [c006558c] get_sb_single+0x34/0xcc [c009b700] sysfs_get_sb+0x1c/0x2c [c0065680] do_kern_mount+0x5c/0x118 [c01d2e60] sysfs_init+0x48/0x80 kmem_cache_create: Early error in slab bdev_cache kernel BUG in kmem_cache_create at mm/slab.c:1209! Oops: Exception in kernel mode, sig: 5 [#1] PREEMPT NIP: C0043C94 LR: C0043C94 SP: C01BFF60 REGS: c01bfeb0 TRAP: 0700 Not tainted MSR: 00029030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c0198710[0] 'swapper' THREAD: c01be000 Last syscall: 0 GPR00: C0043C94 C01BFF60 C0198710 00000035 000006FE FFFFFFFF 00000001 00000720 GPR08: C01F0000 C01C0000 00000000 C01BE000 44000028 00003570 02001400 00000000 GPR16: 00000001 00000001 FFFFFFFF 007FFF00 01FFAA80 C0065E54 00000003 00000000 GPR24: 00000000 C0176A14 FF950040 6F743D2F 00062000 C01A0000 00000000 00000188 NIP [c0043c94] kmem_cache_create+0x5c/0x5e0 LR [c0043c94] kmem_cache_create+0x5c/0x5e0 Call trace: [c01d204c] bdev_cache_init+0x3c/0xb0 [c01d23f8] vfs_caches_init+0xf0/0x108 [c01c05dc] start_kernel+0x12c/0x170 [c000225c] start_here+0x44/0xb0 Kernel panic - not syncing: Aiee, killing interrupt handler! Rebooting in 180 seconds..Which I traced to the in_interrupt() function returning true while it is trying to allocate the kernel cache memory. I assume my interrupt controller is messed up but I don't know how to fix. Any ideas?
Thanks, Clark