From: Kevin O'Connor Date: Wed, 25 Nov 2009 23:53:52 +0000 (-0500) Subject: Clear unused parts of f-segment. X-Git-Tag: rel-0.5.0~27 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c945b2f632461b8cb4709bf20c2ccf581068be8a;p=seabios.git Clear unused parts of f-segment. On coreboot, the unused parts of the f-segment could contain leftover bios tables which may confuse an OS. So clear unused parts of f-segment. --- diff --git a/src/pmm.c b/src/pmm.c index d8f4937..48a882a 100644 --- a/src/pmm.c +++ b/src/pmm.c @@ -285,6 +285,10 @@ malloc_setup() PMMAllocs = NULL; // Memory in 0xf0000 area. + extern u8 code32_start[]; + if ((u32)code32_start > BUILD_BIOS_ADDR) + // Clear unused parts of f-segment + memset((void*)BUILD_BIOS_ADDR, 0, (u32)code32_start - BUILD_BIOS_ADDR); memset(BiosTableSpace, 0, CONFIG_MAX_BIOSTABLE); ZoneFSeg.bottom = (u32)BiosTableSpace; ZoneFSeg.top = ZoneFSeg.cur = ZoneFSeg.bottom + CONFIG_MAX_BIOSTABLE;