From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-out1.atlngahp.sys.nuvox.net ([70.43.63.18] helo=smtp01.atlngahp.sys.nuvox.net) by bombadil.infradead.org with esmtps (Exim 4.69 #1 (Red Hat Linux)) id 1MNUzf-0001Sn-E7 for linux-mtd@lists.infradead.org; Sun, 05 Jul 2009 16:55:18 +0000 Received: from localhost.localdomain (cpe-174-103-146-234.cinci.res.rr.com [174.103.146.234]) (authenticated bits=0) by smtp01.atlngahp.sys.nuvox.net (8.13.1/8.13.1) with ESMTP id n65Gsxsh016086 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 5 Jul 2009 12:54:59 -0400 Message-ID: <4A50DAE2.80608@one.net> Date: Sun, 05 Jul 2009 12:54:58 -0400 From: James Kimble MIME-Version: 1.0 To: linux-mtd@lists.infradead.org Subject: 38MB Vs 64MB on Coldfire running Linux 2.6.25 (P33 flash) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , I've been having a very strange problem while trying to get 64MB of flash to work with a custom board based on the Freescale M5485EVB board (Intel P33 flash with CS lines tied together for 32 bit width). I had no problem with this for the 2.6.10 kernel so I know the hardware is OK. U-Boot had no problem with it but the 2.6.25 kernel doesn't want to see 64MB. I can get it to work with 38MB but no more than that (yeah, weird!!). In this case the only thing I've had to do in the kernel is specify a length of 0x03ffffff rather than 0x04000000 because the larger size causes the mtd physmap routine to fail with a FAULT 5. The smaller size seems to allow everything to boot up fine. Kernel boot is always OK when initializing partitions. I see: ---------------- snip ------------------------------------ Driver 'sd' needs updating - please use bus_type methods physmap platform flash device: 03ffffff at fc000000 physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank NOR chip too large to fit in mapping. Attempting to cope... Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled Reducing visibility of 65536KiB chip to 65535KiB 2 cmdlinepart partitions found on MTD device physmap-flash.0 Creating 2 MTD partitions on "physmap-flash.0": 0x00000000-0x00400000 : "kernel" 0x00400000-0x03b00000 : "root" DSPI: Coldfire master initialized ------------------- snip ------------------------------------- With an NFS kernel I'm able to specify a root partition of 60M in bootargs as in: root=/dev/nfs rw nfsroot=137.237.242.53:/tftpboot/ltib ip=137.237.242.175:137.237.242.53:137.237.242.13:255.255.255.0:ColdFire:eth0ff mtdparts=physmap-flash.0:4M(kernel)ro,60M(root) But when I burn the kernel and rootfs (21M) to flash and try to boot with a bootargs of (anything bigger than 38M fails): root=/dev/mtdblock1 rw rootfstype=jffs2 mtdparts=physmap-flash.0:4M(kernel)ro,55M(root) I get the following messages and the kernel panics: -------------- snip --------------------------------------------------------- RPC: Registered tcp transport module. Bad page state in process 'swapper' page:003bba70 flags:0x0000000c mapping:00000002 mapcount:1 count:0 Trying to fix it up, but a reboot is needed Backtrace: Stack from 0702daf0: <0> 0702db00<0> 002e687c<0> 0005118c<0> 00281bfc<0> 003bba88<0> 003bba70< 0> 00051f52<0> 003bba70 <0> 00000000<0> 000000d0<0> 00000000<0> 00000010<0> 002e6db0<0> 00000000< 0> 00000000<0> 0702a000 <0> fc480000<0> 002e6db4<0> 00000004<0> 00000000<0> 00000000<0> 00000000< 0> 00000001<0> 00000000 ;;;; Totlen for ref at 071721f8 (0x00080000-0x575d5555) miscalculated as 0xffcd9759 i nstead of 57555555 No next ref. jeb->last_node is 071721f8 jeb->wasted_size 2e68a8, dirty_size 3bbac0, used_size 1, free_size 2e68a8 ------------[ cut here ]------------ WARNING: at fs/jffs2/nodelist.c:766 __jffs2_ref_totlen+0x286/0x340() Modules linked in: Stack from 0702dab8: <0> 0702dac8<0> 071721f8<0> 0002c910<0> 0027d944<0> 00291d4a<0> 000002fe< 0> 0702dae9<0> 0027d91b ;;;;; <0> 07134eae<0> 000c0000<0> 070255f5<0> 00000002<0> 00000000<0> 00000000< 0> 00000000<0> 0000000a Call Trace: <0> [<0011519a>]<0> [<001179d6>]<0> [<00117382>]<0> [<001179d6>] <0> [<001941ea>]<0> [<00194432>]<0> [<001179d6>]<0> [<00077844>] <0> [<0007f7f8>]<0> [<0006c73e>]<0> [<00117882>]<0> [<001179d6>] <0> [<00071112>]<0> [<00071210>]<0> [<00051af2>]<0> [<000859de>] <0> [<00085b86>]<0> [<00083d20>]<0> [<00052416>]<0> [<00083dde>] <0> [<00085c56>]<0> [<000412f2>]<0> [<000790ac>]<0> [<00079592>] <0> [<0013f7c2>]<0> [<00021228>]<0> [<000795a8>]<0> [<001735b4>] <0> [<0002d1a6>]<0> [<0004afd6>]<0> [<000212a2>]<0> [<000212da>] Kernel panic - not syncing: Attempted to kill init! ------------------ snip ------------------------------------------------- This is very weird!! Anyone have any ideas about what might be causing this?