[PATCH 1/3] Update BIOS INT15-E820 to allow a larger BIOS image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Note that the standard KVM BIOS will most likely not make use of
this expanded BIOS region.  This change will synchronize
the BIOS INT15-E820 reservations to match other changes that
will allow alternate BIOS images to be larger in size.

Previously the BIOS reserved:
  0xfffbc000-0xfffbcfff -   4KB - EPT identity mapping pages
  0xfffbd000-0xfffbffff -  12KB - TSS pages
  0xfffc0000-0xffffffff - 256KB - Max bios.bin (usually top 128KB is used)

Now the BIOS will reserve:
  0xfeffc000-0xfeffcfff -   4KB - EPT identity mapping pages
  0xfeffd000-0xfeffffff -  12KB - TSS Pages
  0xff000000-0xffffffff -  16MB - Max bios.bin

Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux