bios: clean predefined bios area early

otherwise say EBDA area could have some trash
values gotten from malloc.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
Cyrill Gorcunov
2010-07-28 21:13:27 +04:00
committed by Will Deacon
parent c2d4a49fa4
commit 15c2b0a0a4
+16
View File
@@ -53,6 +53,22 @@ void setup_bios(struct kvm *kvm)
unsigned int i;
void *p;
/*
* before anything else -- clean some known areas
* we definitely don't want any trash here
*/
p = guest_flat_to_host(kvm, BDA_START);
memset(p, 0, BDA_END - BDA_START);
p = guest_flat_to_host(kvm, EBDA_START);
memset(p, 0, EBDA_END - EBDA_START);
p = guest_flat_to_host(kvm, MB_BIOS_BEGIN);
memset(p, 0, MB_BIOS_END - MB_BIOS_BEGIN);
p = guest_flat_to_host(kvm, VGA_ROM_BEGIN);
memset(p, 0, VGA_ROM_END - VGA_ROM_BEGIN);
/* just copy the bios rom into the place */
p = guest_flat_to_host(kvm, MB_BIOS_BEGIN);
memcpy(p, bios_rom, bios_rom_size);