Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Russell King - ARM Linux <linux <at> arm.linux.org.uk>
Subject: Re: Problem accessing memory beyond 0xc03FFFFF
Newsgroups: gmane.linux.ports.arm.kernel
Date: Tuesday 21st February 2006 22:32:03 UTC (over 11 years ago)
On Tue, Feb 21, 2006 at 05:07:27PM -0400, Anderson Lizardo wrote:
> 1) Is this limitation architecture specific? The only reference [1] I
> found about this limitation is ARM-specific. I've found another
> document [2] explaining the boot process on x86, but it does not
> comment about any kernel size limitation in this platform, after the
> kernel has been uncompressed into 0x100000.

Yes it is.  The page tables are initially setup by assembly code.
We have to decide on how many section mappings to initially setup to
provide sufficient environment for the kernel C code to run.  I chose
an arbitary 4MB because that is likely the largest kernel size anyone
would want to realistically run at the moment, and is likely the
smallest RAM size anyone would want to run a kernel in.

The problem is that the assembly code doesn't know how much RAM to
map.

> 2) Could it be somehow circumvented (e.g. with XIP, load the kernel
> with kexec, relocate code to somewhere else)?

Not really.  It may be possible for you to increase the initial mapping
(since it's appropriate for you to do so.)  Look for "KERNEL + 1MB" in
arch/arm/kernel/head.S

> 3) [platform specific issue] By default, u-boot loads the compressed
> kernel image into 0x10000000. For OMAP platform, ZRELADDR is set to
> 0x10008000. If I understand correctly the boot code and [1], in this
> case if the compressed image size is greater than 0x8000 (likely), the
> kernel will be uncompressed right after the compressed image and then
> be relocated to the "correct" place after decompression. Can this
> somehow reduce the maximum kernel image size limit?

Only if you have RAM size limitations, but if you're that tight, chances
are there won't be enough RAM for the kernel to even boot.

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
 
CD: 46ms