From: "Arun Kumar" <arunkat@gmail.com>
To: "Laurent Pinchart" <laurent.pinchart@tbox.biz>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: entry point of kernel in RAM at 0x0c--linux tree file name
Date: Thu, 29 Jun 2006 17:22:58 +0530 [thread overview]
Message-ID: <edd12c050606290452r7cd68f36w55a3eac737c73bf3@mail.gmail.com> (raw)
In-Reply-To: <200606231218.14788.laurent.pinchart@tbox.biz>
[-- Attachment #1: Type: text/plain, Size: 4062 bytes --]
Hi Laurent ,
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 .
I have a Sandpoint 8260 LSP .However now my code crashes in mapin_ram
roputine .
Here is a dump of serial console :
loaded at: 00800000 0099A1D8
zimage at: 008057B7 0086B0E9
initrd at: 0086C000 0099645B
avail ram: 00400000 00800000
Linux/PPC load: console=ttyS0,9600 console=tty0 root=/dev/ram
Uncompressing Linux...done.
Now booting the kernel
id mach(): init
MMU:mapin
MMU:have_bats
MMU:PPC_STD_MMU
The mapin_ram code in pgtable.c is as follows :
void __init mapin_ram(void)
{
unsigned long v, s, f;
phys_addr_t p;
#ifdef HAVE_BATS
if (!__map_without_bats)
{ bat_mapin_ram(__bat2, __bat3);
ppc_md.progress("MMU:have_bats", 0x401);
}
#endif /* HAVE_BATS */
v = KERNELBASE;
p = PPC_MEMSTART;
for (s = 0; s < total_lowmem; s += PAGE_SIZE) {
/* On the MPC8xx, we want the page shared so we
* don't get ASID compares on kernel space.
*/
f = _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_SHARED | _PAGE_HWEXEC;
#ifdef CONFIG_440
/* Prevent bogus speculative cycles */
f |= _PAGE_GUARDED;
#endif
#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) ||
defined(CONFIG_BDI_SWITCH)
/* Allows stub to set breakpoints everywhere */
f |= _PAGE_WRENABLE;
ppc_md.progress("MMU:in kgdb", 0x401);
#else /* !CONFIG_KGDB && !CONFIG_XMON && !CONFIG_BDI_SWITCH */
if ((char *) v < _stext || (char *) v >= etext)
{ f |= _PAGE_WRENABLE;
ppc_md.progress("MMU:else of kgdb", 0x401);
}
#ifdef CONFIG_PPC_STD_MMU
else
/* On the powerpc (not all), no user access
forces R/W kernel access */
f |= _PAGE_USER;
ppc_md.progress("MMU:PPC_STD_MMU", 0x401);
#endif /* CONFIG_PPC_STD_MMU */
#endif /* CONFIG_KGDB || CONFIG_XMON */
map_page(v, p, f);
v += PAGE_SIZE;
p += PAGE_SIZE;
}
if (ppc_md.progress)
ppc_md.progress("MMU:mapin_ram done", 0x401);
}
This is crashing somewhere in map_page routine .
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 .
Thanks,
Arun
On 6/23/06, Laurent Pinchart <laurent.pinchart@tbox.biz> wrote:
>
> Hi Arun,
>
> please keep the list posted when you reply.
>
> > Thanks for the response .I would also like to ask another query hoever
> > naive it might sound .I am using a Linux 2.4.1
>
> That's very old. Can't you upgrade to 2.6 ?
>
> > wherein my entry point
> > code at 0x0c expects at R3 ,R4,R5,R6 some parameters which I strongly
> > suspect to be residual record bi_rec *,start of initrd and end of initrd
> > sections as my kernel is crashing immediately after MMU_init and I
> > suspect that machine _init that is done prior to MMU_init expects __res
> > in R3 as a input parameter .Please confirm .
>
> Depending on your platform and boot loader, r3 to r7 are initialized with
> different values. If you're using ppcboot, the kernel expects r3 to be
> initialized with the residual record, right.
>
> > I am using ppcboot2..0.0 as my bootloader .
>
> That' very old too. You should upgrade to U-Boot.
>
> > Also I would like to know how can i enable serial console in these early
> > kernel initialsaiotns process. I am using a CONFIG_SANDPOINT(8260) on a
> > MPC 8245 platform and trying to port the code on MPC8245 platform .the
> > board has a very similar config as a SANDPOINT board .
>
> If I'm not mistaken, you can't enable a serial console that early. Do you
> have
> a hardware debugger (BDI2000) ? If not, you could try LED debugging.
>
> Best regards,
>
> Laurent Pinchart
>
--
Arun Kumar Singh
Tech Lead.
Agere India
Bangalore
[-- Attachment #2: Type: text/html, Size: 5684 bytes --]
prev parent reply other threads:[~2006-06-29 11:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-22 8:46 entry point of kernel in RAM at 0x0c--linux tree file name Arun Kumar
2006-06-22 15:35 ` Laurent Pinchart
[not found] ` <edd12c050606230253u5842ea5bvd78d06f0354cb4bd@mail.gmail.com>
2006-06-23 10:18 ` Laurent Pinchart
2006-06-29 11:52 ` Arun Kumar [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=edd12c050606290452r7cd68f36w55a3eac737c73bf3@mail.gmail.com \
--to=arunkat@gmail.com \
--cc=laurent.pinchart@tbox.biz \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox