Re: [PATCH] Fix alignment of early reservation for EBDA
From: H. Peter Anvin
Date: Sun Feb 24 2008 - 21:19:00 EST
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/