Small word about xnu. It needs for norma booting just a quite big amount of contiguos memory anywhere below 4GiB. This is typically 64 MiB depending on the amount of loaded modules but can be much larger (e.g. if using ramdisk) In the case of resuming from hibernation it needs small amount at 0x100000 (around 64 kib probably) and a space for compressed hibernation image. Depending on system usage prior to hibernation it could be as big as the whole memory minus few MiB.
Robert Millan wrote:
On Fri, Mar 06, 2009 at 10:02:28PM +0200, Vesa Jääskeläinen wrote:
Robert Millan wrote:
This patch makes the generic Linux loader usable on i386-pc again.  It
doesn't seem like it's badly needed to spend a bit of time and a bit of
code in adding low memory to the heap, and Vesa's work on the new memory
manager should give a proper solution to this problem.

I think in the meantime we could just not allocate low mem, assuming
nobody has a problem with that.
If this really blocks it I have nothing against it. But could you share
a bit insight what kind of memories are required to be where for Linux?

Sure.  Note that my experience is merely derived from our existing code
(which I had to in order to produce the initial loader/i386/linux.c).  Linux
developers reading this (hi Dave ;-)) probably know better.

There's an area between 0x10000 and 0x90000 which is where
struct linux_kernel_params needs to be stored.  This includes a statically
allocated memory map.

There's an area between 0x100000 and min(0x37FFFFFF,(grub_os_area_addr + 
grub_os_area_size))
where the actual Linux image is loaded, as well as the initrd (inmediately after
it, with some alignment).

I think that's all.



--

Regards
Vladimir 'phcoder' Serbinenko


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to