Define handle_post as VISIBLE32FLAT as work around for QEmu memory layout.
authorKevin O'Connor <kevin@koconnor.net>
Tue, 20 Sep 2011 23:42:14 +0000 (19:42 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Tue, 20 Sep 2011 23:42:14 +0000 (19:42 -0400)
commit9acdc28d5d91f68db3cd6b32509dd1ad9544f145
tree9299a8a52b7d3f6e11836b0f5d743667dec76ec6
parent7859edaaba68183d57eba3a166c1a06b187aeef6
Define handle_post as VISIBLE32FLAT as work around for QEmu memory layout.

QEmu only copies the top 128K of the BIOS image to low memory
(0xe0000-0xfffff).  Images over 128K are only fully mapped in high
memory (0xfff00000).  However, the SeaBIOS shadow functions
(make_bios_writable_intel) will copy up to 256K to low memory.

SeaBIOS generally works with 256K roms because they are automatically
copied to low memory during the BIOS init.  However, this only works
if the shadow function code is itself part of the bios image that is
placed in low memory by QEmu.

Defining handle_post() as VISIBLE32FLAT will make the linker scripts
more likely to place the initial shadow code in the last 128K of the
image.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/post.c