summaryrefslogtreecommitdiff
path: root/src/pmm.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2012-07-21 11:56:09 -0400
committerKevin O'Connor <kevin@koconnor.net>2012-07-21 11:56:09 -0400
commit65802ad7c72bd038144b0ea71c03f8a96d10b3ff (patch)
tree6661e65d81dae41860f53e6c3def301e1f92bb41 /src/pmm.c
parentafdeda03e078a9c6f586479716f911c40f3511b7 (diff)
downloadqemu-seabios-65802ad7c72bd038144b0ea71c03f8a96d10b3ff.tar.gz
Minor - clear unused f-segment data at start of f-segment.
Zero the space - some old applications can use the space for UMB if it is zeroed. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/pmm.c')
-rw-r--r--src/pmm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pmm.c b/src/pmm.c
index 1addb41..653c9e2 100644
--- a/src/pmm.c
+++ b/src/pmm.c
@@ -287,7 +287,6 @@ malloc_finalize(void)
dprintf(3, "malloc finalize\n");
// Place an optionrom signature around used low mem area.
- struct allocinfo_s *info = findLast(&ZoneLow);
u32 base = rom_get_top();
struct rom_header *dummyrom = (void*)base;
dummyrom->signature = OPTION_ROM_SIGNATURE;
@@ -296,6 +295,10 @@ malloc_finalize(void)
memset((void*)RomEnd, 0, base-RomEnd);
dprintf(1, "Space available for UMB: %08x-%08x\n", RomEnd, base);
+ // Clear unused f-seg ram.
+ struct allocinfo_s *info = findLast(&ZoneFSeg);
+ memset(info->dataend, 0, info->allocend - info->dataend);
+
// Give back unused high ram.
info = findLast(&ZoneHigh);
if (info) {