summaryrefslogtreecommitdiff
path: root/src/pmm.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-12-30 12:14:53 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-12-30 12:14:53 -0500
commit871e0a0c142f7b2fcaa93600c5958d4ae4fa1394 (patch)
tree9b439bc44c321d659cd56c2cae71c917684b67d5 /src/pmm.c
parenteda2c83bfa9d54a6f751e31ea555e53966f60272 (diff)
downloadqemu-seabios-871e0a0c142f7b2fcaa93600c5958d4ae4fa1394.tar.gz
Add support for 32bit PCI BIOS entry.
Create a new code blob (code32seg) with support for 32bit functions that need to utilize explicit segment accesses. This code blob uses global variables relative to %gs and with a dynamic code offset (determined by get_global_offset()). Add BIOS32 structure and code. Add code for 32bit PCI BIOS code.
Diffstat (limited to 'src/pmm.c')
-rw-r--r--src/pmm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pmm.c b/src/pmm.c
index d05cc6f..dab8fb3 100644
--- a/src/pmm.c
+++ b/src/pmm.c
@@ -290,10 +290,11 @@ malloc_setup()
PMMAllocs = NULL;
// Memory in 0xf0000 area.
- extern u8 code32_start[];
- if ((u32)code32_start > BUILD_BIOS_ADDR)
+ extern u8 code32flat_start[];
+ if ((u32)code32flat_start > BUILD_BIOS_ADDR)
// Clear unused parts of f-segment
- memset((void*)BUILD_BIOS_ADDR, 0, (u32)code32_start - BUILD_BIOS_ADDR);
+ memset((void*)BUILD_BIOS_ADDR, 0
+ , (u32)code32flat_start - BUILD_BIOS_ADDR);
memset(BiosTableSpace, 0, CONFIG_MAX_BIOSTABLE);
ZoneFSeg.bottom = (u32)BiosTableSpace;
ZoneFSeg.top = ZoneFSeg.cur = ZoneFSeg.bottom + CONFIG_MAX_BIOSTABLE;