Hi Laurent ,<br>I have made marginally more progress in my porting effort .Now I can see the early debug text by enabling the CONFIG_SERIAL_TEXT_DEBUG and pointing the gen550.c code to my sandpoint 8260 LSP code and UART adresses .
<br><br>I have a Sandpoint 8260 LSP .However now my code crashes in mapin_ram roputine .<br><br>Here is a dump of serial console :<br><br><br>loaded at: 00800000 0099A1D8<br>zimage at: 008057B7 0086B0E9<br>initrd at: 0086C000 0099645B
<br>avail ram: 00400000 00800000<br><br>Linux/PPC load: console=ttyS0,9600 console=tty0 root=/dev/ram<br>Uncompressing Linux...done.<br>Now booting the kernel<br><br>id mach(): init<br>MMU:mapin<br>MMU:have_bats<br>MMU:PPC_STD_MMU
<br><br>The mapin_ram code in pgtable.c is as follows :<br><br>void __init mapin_ram(void)<br>{<br> unsigned long v, s, f;<br> phys_addr_t p;<br><br>#ifdef HAVE_BATS<br> if (!__map_without_bats)<br> { bat_mapin_ram(__bat2, __bat3);
<br> ppc_md.progress("MMU:have_bats", 0x401);<br>}<br><br>#endif /* HAVE_BATS */<br><br> v = KERNELBASE;<br> p = PPC_MEMSTART;<br> for (s = 0; s < total_lowmem; s += PAGE_SIZE) {<br> /* On the MPC8xx, we want the page shared so we
<br> * don't get ASID compares on kernel space.<br> */<br> f = _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_SHARED | _PAGE_HWEXEC;<br>#ifdef CONFIG_440<br> /* Prevent bogus speculative cycles */<br>
f |= _PAGE_GUARDED;<br>#endif<br>#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH)<br> /* Allows stub to set breakpoints everywhere */<br> f |= _PAGE_WRENABLE;<br> ppc_md.progress("MMU:in kgdb", 0x401);
<br>#else /* !CONFIG_KGDB && !CONFIG_XMON && !CONFIG_BDI_SWITCH */<br> if ((char *) v < _stext || (char *) v >= etext)<br> { f |= _PAGE_WRENABLE;<br> ppc_md.progress("MMU:else of kgdb", 0x401);
<br>}<br>#ifdef CONFIG_PPC_STD_MMU<br> else<br> /* On the powerpc (not all), no user access<br> forces R/W kernel access */<br> f |= _PAGE_USER;<br> ppc_md.progress("MMU:PPC_STD_MMU", 0x401);
<br>#endif /* CONFIG_PPC_STD_MMU */<br>#endif /* CONFIG_KGDB || CONFIG_XMON */<br> map_page(v, p, f);<br> v += PAGE_SIZE;<br> p += PAGE_SIZE;<br> }<br> if (ppc_md.progress)<br> ppc_md.progress("MMU:mapin_ram done", 0x401);
<br>}<br><br>This is crashing somewhere in map_page routine .<br>I have 64Mb in DRAM and 8 Mb of Flash .I have really no idea why my MMU_init code is crashing .. Any help would be greatly appreciated .<br><br><br>Thanks,<br>
Arun<br><br><div><span class="gmail_quote">On 6/23/06, <b class="gmail_sendername">Laurent Pinchart</b> <<a href="mailto:laurent.pinchart@tbox.biz">laurent.pinchart@tbox.biz</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Arun,<br><br>please keep the list posted when you reply.<br><br>> Thanks for the response .I would also like to ask another query hoever<br>> naive it might sound .I am using a Linux 2.4.1<br><br>That's very old. Can't you upgrade to
2.6 ?<br><br>> wherein my entry point<br>> code at 0x0c expects at R3 ,R4,R5,R6 some parameters which I strongly<br>> suspect to be residual record bi_rec *,start of initrd and end of initrd<br>> sections as my kernel is crashing immediately after MMU_init and I
<br>> suspect that machine _init that is done prior to MMU_init expects __res<br>> in R3 as a input parameter .Please confirm .<br><br>Depending on your platform and boot loader, r3 to r7 are initialized with<br>different values. If you're using ppcboot, the kernel expects r3 to be
<br>initialized with the residual record, right.<br><br>> I am using ppcboot2..0.0 as my bootloader .<br><br>That' very old too. You should upgrade to U-Boot.<br><br>> Also I would like to know how can i enable serial console in these early
<br>> kernel initialsaiotns process. I am using a CONFIG_SANDPOINT(8260) on a<br>> MPC 8245 platform and trying to port the code on MPC8245 platform .the<br>> board has a very similar config as a SANDPOINT board .
<br><br>If I'm not mistaken, you can't enable a serial console that early. Do you have<br>a hardware debugger (BDI2000) ? If not, you could try LED debugging.<br><br>Best regards,<br><br>Laurent Pinchart<br></blockquote></div>
<br><br clear="all"><br>-- <br>Arun Kumar Singh<br>Tech Lead.<br>Agere India <br>Bangalore