[PATCH 1/3] Update qemu-kvm bios to allow for a larger bios image.

Jordan Justen
2009-07-16T18:02:22Z

The bios will now reserve more memory via the E820 functions.

Previously we reserved:
0xfffbc000-0xfffbcfff - 4KB - KVM kernel module, EPT identity pages tables
0xfffbd000-0xfffbffff - 12KB - KVM bios, VMC TSS Pages
0xfffc0000-0xffffffff - 256KB - Max KVM bios.bin (usually top 128KB is used)

Now we will reserve:
0xfeffc000-0xfeffcfff - 4KB - KVM kernel module, EPT identity pages tables
0xfeffd000-0xfeffffff - 12KB - KVM bios, VMC TSS Pages
0xff000000-0xffffffff - 16MB - Max KVM bios.bin

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
---
kvm/bios/rombios.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kvm/bios/rombios.c b/kvm/bios/rombios.c
index 6186199..2d0c153 100644
--- a/kvm/bios/rombios.c
+++ b/kvm/bios/rombios.c
@@ -4596,14 +4596,14 @@ ASM_END
case 5:
/* 4 pages before the bios, 3 pages for vmx tss pages,
* the other page for EPT real mode pagetable */
- set_e820_range(ES, regs.u.r16.di, 0xfffbc000L,
- 0xfffc0000L, 0, 0, 2);
+ set_e820_range(ES, regs.u.r16.di, 0xfeffc000L,
+ 0xff000000L, 0, 0, 2);
regs.u.r32.ebx = 6;
break;
case 6:
- /* 256KB BIOS area at the end of 4 GB */
+ /* 16MB BIOS area at the end of 4 GB */
set_e820_range(ES, regs.u.r16.di,
- 0xfffc0000L, 0x00000000L ,0, 0, 2);
+ 0xff000000L, 0x00000000L ,0, 0, 2);
if (extra_highbits_memory_size || extra_lowbits_memory_size)
regs.u.r32.ebx = 7;
else
--
1.6.0.4