We ported the uboot Memory test and tested the 15MB ram and it was successful.interestingly we have only 16MB SRAM in our board.We used 1 MB of RAM for the bootloader to execute and tested the other 15 MB. i couldnt see any reason why the DEAR, MSR value become identical. checked the objcopy of my linux image and the instruction on that particular location was an ordinary branch instruction. !
On Fri, Oct 2, 2009 at 10:47 PM, Johnny Hung <johnny.hack...@gmail.com> wrote: > It's seems a RAM initialize problem. Try to use ICE or your bootloader > to test initialized RAM wirh write/read operation. > Ex, use mtest in uboot to check memory. For ICE, it should be an > detailed memory test function like hardware diagnostic. > > 2009/9/24 Benjamin Herrenschmidt <b...@kernel.crashing.org>: >> On Wed, 2009-09-23 at 20:19 +0530, Vineeth _ wrote: >>> I am trying to port linux on IBM powerpc-440x5. I have this board >>> which has this processor, a 16MB SRAM sits on location 0x0, uart and a >>> flash.I have a simple bootloader which does the following. >>> 1. Initialize the processor (as part of it, we Generates the tlbs >>> for UART,16MB flash,16MB SRAM) >>> 2. Initialize the UART >>> 3. Copy the simple-boot linux_image (binary file) from flash to >>> 0x400000 location of SRAM. >>> 4. Kernel entry to 0x400000 >> >> Not sure yet, looks like things are being overwritten during boot. >> Interestingly enough, the DEAR value looks like an MSR value.. >> >> Hard to tell what's up. You'll have to dig a bit more youself to >> figure out how come the kernel's getting that bad pointer. >> >> All I can tell you is that things work fine on 440x5 cores, though >> I haven't tested a configuration with so little memory in a while. >> >> Ben. >> >>> zImage starting: loaded at 0x00400000 (sp: 0x004deeb0) >>> Allocating 0x1dad84 bytes for kernel ... >>> gunzipping (0x00000000 <- 0x0040c000:0x004dd3f1)...done 0x1c31cc bytes >>> >>> Linux/PowerPC load: console=ttyS0 root=/dev/ram >>> Finalizing device tree... flat tree at 0x4eb300 >>> id mach(): done >>> inside skybeam_register_console function >>> MMU:enterMMU:hw initMMU:mapinMMU:setioMMU:exitinside >>> _setup_arch-begininginside _setup_arch-1inside >>> _setup_arch-2setup_arch: bootmemarch: exit<7>Top of RAM: 0x1000000, >>> Total RAM: 0x1000000 >>> Zone PFN ranges: >>> DMA 0x00000000 -> 0x00001000 >>> Normal 0x00001000 -> 0x00001000 >>> Movable zone start PFN for each node >>> early_node_map[1] active PFN ranges >>> 0: 0x00000000 -> 0x00001000 >>> MMU: Allocated 1088 bytes of context maps for 255 contexts >>> Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064 >>> Kernel command line: console=ttyS0 root=/dev/ram >>> Unable to handle kernel paging request for data at address 0x00021000 >>> Faulting instruction address: 0xc010a7c4 >>> Oops: Kernel access of bad area, sig: 11 [#1] >>> PREEMPT PowerPC 44x Platform >>> Modules linked in: >>> NIP: c010a7c4 LR: c010dc50 CTR: 00000000 >>> REGS: c01bfeb0 TRAP: 0300 Not tainted (2.6.30) >>> MSR: 00021000 <ME,CE> CR: 24000044 XER: 00000000 >>> DEAR: 00021000, ESR: 00000000 >>> TASK = c01a94b8[0] 'swapper' THREAD: c01be000 >>> GPR00: 00001180 c01bff60 c01a94b8 00021000 00000025 00000008 c0104968 >>> 00000000 >>> GPR08: 2f72616d c0110000 c0155938 c01a0000 22000024 00000000 fffff104 >>> 00000000 >>> GPR16: 00000000 00000000 00000000 00000000 fffffff8 000008b8 c010d758 >>> c0104968 >>> GPR24: 00001198 00001190 c018a001 c01c5498 000008c0 00001188 00021000 >>> c01c42f0 >>> NIP [c010a7c4] strchr+0x0/0x3c >>> LR [c010dc50] match_token+0x138/0x228 >>> Call Trace: >>> [c01bff60] [c016b99c] 0xc016b99c (unreliable) >>> [c01bffa0] [c0104a00] sort_extable+0x28/0x38 >>> [c01bffb0] [c01938ec] sort_main_extable+0x20/0x30 >>> [c01bffc0] [c018c734] start_kernel+0x140/0x288 >>> [c01bfff0] [c0000200] skpinv+0x190/0x1cc >>> Instruction dump: >>> 7ca903a6 88040000 38a5ffff 38840001 2f800000 98090000 39290001 419e0010 >>> 4200ffe4 98a90000 4e800020 4e800020 <88030000> 5484063e 7f802000 4d9e0020 >>> ---[ end trace 31fd0ba7d8756001 ]--- >>> Kernel panic - not syncing: Attempted to kill the idle task! >>> Call Trace: >>> [c01bfd90] [c0005d5c] show_stack+0x4c/0x16c (unreliable) >>> [c01bfdd0] [c002f17c] panic+0xa0/0x168 >>> [c01bfe20] [c0032eb8] do_exit+0x61c/0x638 >>> [c01bfe60] [c000b60c] kernel_bad_stack+0x0/0x4c >>> [c01bfe90] [c000f310] bad_page_fault+0x90/0xd8 >>> [c01bfea0] [c000e184] handle_page_fault+0x7c/0x80 >>> [c01bff60] [c016b99c] 0xc016b99c >>> [c01bffa0] [c0104a00] sort_extable+0x28/0x38 >>> [c01bffb0] [c01938ec] sort_main_extable+0x20/0x30 >>> [c01bffc0] [c018c734] start_kernel+0x140/0x288 >>> [c01bfff0] [c0000200] skpinv+0x190/0x1cc >>> Rebooting in 180 seconds.. >>> _______________________________________________ >>> Linuxppc-dev mailing list >>> Linuxppc-dev@lists.ozlabs.org >>> https://lists.ozlabs.org/listinfo/linuxppc-dev >> >> _______________________________________________ >> Linuxppc-dev mailing list >> Linuxppc-dev@lists.ozlabs.org >> https://lists.ozlabs.org/listinfo/linuxppc-dev >> > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev