Kernel panic on boot with CFI flash device on physical memory, MTD, and JFFS2 enabled

Hi all,

I have been trying to make the MTD partition working on Montavista Linux 2.4.20 because I need to mount JFFS2 (writeable and persistent) file system on ramdisk based file system. I have enabled the CFI flash device on physical memory on the kernel configuration. Since there is no option to specify the start address of flash memory, the length and the bus width on the configuration, I added them manually to physmap.c and config_probe.c. Is it okay to do this? Otherwise, Linux will try to map to address 0 with size 0, which is not right either.

However, during Linux boot, when it reaches map_copy_from(map, buf, adr, len) in cfi_cmdset_0002.c, it gets Kernel Panic. My flash base address is 0xe8000000 to 0xebffffff. But I want to mount the JFFS2 file system starting at address 0xeba00000. The error message is attached below. What did I do wrong? Any help will be greatly appreciated. Thank you.


. . . $Id: ftl.c,v 1.50 2003/05/21 10:49:47 dwmw2 Exp $ cfi_amdstd_init map_rom_init physmap flash device: ffff at eba00000 genprobe_new_chip CFIDEV_BUSWIDTH_4 CFIDEV_INTERLEAVE_1 cfi_probe_chip ************ //my own comment About to probe //my own comment About to cfi_send_gen_cmd //my own comment cfi->device_type = 4 NO QRY response CFIDEV_INTERLEAVE_2 CFI_DEVICETYPE_X16 cfi_probe_chip ************ //my own comment About to probe //my own comment About to cfi_send_gen_cmd //my own comment cfi->device_type = 2 mtd_info cfi_cmdset_0002 Amd/Fujitsu Extended Query Table v1.3 at 0x0040 mtd info, about to allocate kernel memory for mtd number of CFI chips: 1 cfi_cmdset_0002: Disabling fast programming due to code brokenness. cfi_amdstd_read //my own comment do_read_onechip //my own comment after spin_lock //my own comment adr = 0x00001030 //my own comment buf = 0xC02D8000 //my own comment len = 0x00001000 //my own comment Oops: kernel access of bad area, sig: 11 NIP: C001192C XER: 00000000 LR: C00EBC38 SP: C029DE60 REGS: c029ddb0 TRAP: 0800 Not tainted MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DEAR: C9061000, ESR: 00000000 TASK = c029c000[1] 'swapper' Last syscall: 120 last math 00000000 last altivec 00000000 GPR00: 00000000 C029DE60 C029C000 C02D8000 C9060FFC 00001000 C02D7FFC

00000200 GPR08: 00000000 C01A0000 00000034 C029DD80 C01A0000 00005128 04004F00 00000000 GPR16: 00000001 00000001 FFFFFFFF 007FFF00 00001000 C02D8000 C00EBC14 C01A0000 GPR24: C0170000 C01A0000 00000000 03FE0000 C02DBADC C02DBAF4 C01A7040 00000000 Call backtrace: C02DBAF4 C00E68D8 C00E4D3C C00DB70C C00DB5CC C019B0A4 C0191634 C0002458 C0006F9C Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing Rebooting in 180 seconds..
Reply to
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.