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.