|
Hi all, We are attempting to bring up a new board
design using uClinux and Microblaze. We have made some fair progress but are
now stuck with a BUG in the kernel at slab.c. We’d provide the exact line
but the printk function seems to have lost the ability to print integers as well
(we never touched it!) This BUG seems to rear its ugly head in the
kmem_cache_create() function where it checks if “in_interrupt()” is
true, which it happens to be. Further tracing has determined that in_interrupt()
is true because the local_bh_count is non-zero. Does anybody have a pointer for us? We have
included the limited output from the kernel as well as the MSS file. Thanks in advance, Steve *** PES DAM *** Testing sram... Testing flash...() Writing MAC address... Copying to sram... Jumping to 0x00... Linux version 2.4.31-uc0 (root@vanteon-10-10-55-142) (gcc
version 3.4.1 (Xilinx EDK 7.1.2 Build EDK_H.12.4)) #37 Thu Oct 27 14:51:06 EDT
2005 On node 0 totalpages: 1024 zone(0): 1024 pages. zone(1): 0 pages. zone(2): 0 pages. CPU: MICROBLAZE Kernel command line: Console: xmbserial on UARTLite We have 1 cpu's, and are at local_irq_count=0,
local_bh_count=0 After kmem_cache_init, local_irq_count=0, local_bh_count=0 After sti, local_irq_count=0, local_bh_count=1 Calibrating delay loop... Past first loop... Past second
loop... 33.07 BogoMIPS Memory: 4MB = 4MB total Memory: c392KB available (935K code, c7c3K data, 48K init) After mem_init, local_irq_count=0, local_bh_count=c kernel BUG at slab.c:c2cc! BEGIN OS PARAMETER OS_NAME = uclinux PARAMETER OS_VER = 1.00.c PARAMETER PROC_INSTANCE = microblaze_0 PARAMETER TARGET_DIR =
/root/uClinux-2.4.x/arch/microblaze/platform/DAM PARAMETER stdout = console_uart PARAMETER stdin = console_uart PARAMETER main_memory = system_memcon PARAMETER main_memory_bank = 0 PARAMETER main_memory_size = 4194304 PARAMETER flash_memory = system_memcon PARAMETER flash_memory_bank = 2 PARAMETER flash_memory_size = 8388608 PARAMETER lmb_memory = ilmb_cntlr END BEGIN PROCESSOR PARAMETER DRIVER_NAME = cpu PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = microblaze_0 PARAMETER COMPILER = mb-gcc PARAMETER ARCHIVER = mb-ar PARAMETER CORE_CLOCK_FREQ_HZ = 66666667 END BEGIN DRIVER PARAMETER DRIVER_NAME = generic PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = dcm_system END BEGIN DRIVER PARAMETER DRIVER_NAME = uartlite PARAMETER DRIVER_VER = 1.00.b PARAMETER HW_INSTANCE = mdm END BEGIN DRIVER PARAMETER DRIVER_NAME = bram PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = ilmb_cntlr END BEGIN DRIVER PARAMETER DRIVER_NAME = bram PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = dlmb_cntlr END BEGIN DRIVER PARAMETER DRIVER_NAME = generic PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = mb_opb END BEGIN DRIVER PARAMETER DRIVER_NAME = intc PARAMETER DRIVER_VER = 1.00.c PARAMETER HW_INSTANCE = system_intc END BEGIN DRIVER PARAMETER DRIVER_NAME = tmrctr PARAMETER DRIVER_VER = 1.00.b PARAMETER HW_INSTANCE = system_timer END BEGIN DRIVER PARAMETER DRIVER_NAME = emc PARAMETER DRIVER_VER = 2.00.a PARAMETER HW_INSTANCE = system_memcon END BEGIN DRIVER PARAMETER DRIVER_NAME = gpio PARAMETER DRIVER_VER = 2.00.a PARAMETER HW_INSTANCE = system_gpio END BEGIN DRIVER PARAMETER DRIVER_NAME = gpio PARAMETER DRIVER_VER = 2.00.a PARAMETER HW_INSTANCE = io_ctl_en_bank0 END # BEGIN DRIVER # PARAMETER DRIVER_NAME = generic # PARAMETER DRIVER_VER = 1.00.a # PARAMETER HW_INSTANCE = iosys # END BEGIN DRIVER PARAMETER DRIVER_NAME = uartlite PARAMETER DRIVER_VER = 1.00.b PARAMETER HW_INSTANCE = console_uart END BEGIN DRIVER PARAMETER DRIVER_NAME = dam_io PARAMETER DRIVER_VER = 1.00.a PARAMETER HW_INSTANCE = iosys END BEGIN DRIVER PARAMETER DRIVER_NAME = emac PARAMETER DRIVER_VER = 1.00.f PARAMETER HW_INSTANCE = opb_ethernet_0 END |