Subject: Re: kernel space below 2mbyte
To: None <port-arm@netbsd.org>
From: Steve Woodford <scw@netbsd.org>
List: port-arm
Date: 11/05/2004 08:36:29
On Friday 05 November 2004 05:13, Jesse Off wrote:
> I've noticed some of the evbarm
> boards load the kernel text at 2Mbytes from the bottom of SDRAM.  It
> seems some page tables and special stack areas are alloced from that
> 2Mbyte space below the kernel but it seems that whats left of that
> memory is not put on the UVM freelist.

Correct. This is a side-effect of using RedBoot to load the kernel on 
many of those boards; the 2MB offset puts the kernel above RedBoot's 
SDRAM footprint. Once the kernel is running, it is free to reuse SDRAM 
below 2MB which, as you point out, is currently the case. There's 
certainly some wastage with this situation, but not excessively so. 
Unless you have very little SDRAM to begin with I don't think it's 
worth adding the spare pages to UVM's freelist.

The common ARM code makes no assumptions about the kernel's start 
address so as you're writing a new port, particularly if it's one which 
doesn't use RedBoot, you are free to locate the kernel at the start of 
SDRAM.

Cheers, Steve