[prefix] Add A20-enabling code in libflat
authorMichael Brown <mcb30@ipxe.org>
Tue, 20 Apr 2010 17:49:43 +0000 (18:49 +0100)
committerStefan Hajnoczi <stefanha@gmail.com>
Wed, 7 Jul 2010 19:14:36 +0000 (20:14 +0100)
commit5bc6c0ca2f8d20f2fbacc1980fb86ac6dc694b68
tree4a2252e8cd719d64a775335e981518c99b810597
parent041d84617682c66abb2fa8e0b6cea5acc221a383
[prefix] Add A20-enabling code in libflat

gPXE currently insists on residing in an even megabyte.  This imposes
undesirably severe constraints upon our PMM allocation strategy, and
limits our options for mechanisms to access ROMs greater than 64kB in
size.

Add A20 handling code to libflat so that prefixes are able to access
memory even in odd megabytes.

The algorithms and tuning parameters in the new A20 handling code are
based upon a mixture of the existing gPXE A20 code and the A20 code
from the 2.6.32 Linux kernel.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
src/arch/i386/prefix/libprefix.S
src/arch/i386/transitions/libflat.S