Messages in this thread | | | Date | Sun, 24 Feb 2008 18:18:16 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] Fix alignment of early reservation for EBDA |
| |
Alexander van Heukelum wrote: > Hi Andi, > > My eyes fell on the following table in the boot messages: > > early res: 0 [0-fff] BIOS data page > early res: 1 [6000-7fff] SMP_TRAMPOLINE > early res: 2 [200000-374557] TEXT DATA BSS > early res: 3 [9fc00-a0bff] EBDA > early res: 4 [8000-afff] PGTABLE > > The memory reserved for the EBDA overflows into the area normally > reserved for the VGA adaptor. It seems that you wanted to force > the allocation to cover whole pages, like: > > early res: 3 [9f000-9ffff] EBDA > > This is what this patch implements. > > Is it really necessary to force the allocation to a page boundary? >
It is, but that rounding gets done in reserve_bootmem() anyway, so there is no need for the arch-specific code to do it.
The 32-bit EBDA code hard-codes a size of 4K, which is probably equally wrong; my gut feel is that the right thing to do is to reserve from the EBDA up to the 640K mark (some BIOSes use an area like that for SMM stuff), possibly with some sanity checking.
-hpa
| |