diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-12-30 12:14:53 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-12-30 12:14:53 -0500 |
commit | 871e0a0c142f7b2fcaa93600c5958d4ae4fa1394 (patch) | |
tree | 9b439bc44c321d659cd56c2cae71c917684b67d5 /src/pmm.c | |
parent | eda2c83bfa9d54a6f751e31ea555e53966f60272 (diff) | |
download | 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.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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; |