[SeaBIOS] [PATCH] mark VBE mapping as reserved in e820

Marcelo Tosatti mtosatti at redhat.com
Sat Jan 23 19:02:05 CET 2010


Izik, is this still needed? 

From: Izik Eidus <ieidus at redhat.com>

The vbe was not registered as reserved memory, and therefore windows was
able to try to map pci devices into this address range.

Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>

diff --git a/src/post.c b/src/post.c
index fb3b37f..3a1be89 100644
--- a/src/post.c
+++ b/src/post.c
@@ -96,6 +96,9 @@ init_bda(void)
     ebda->size = esize;
 }
 
+#define VBE_DISPI_LFB_PHYSICAL_ADDRESS  0xE0000000
+#define VGA_RAM_SIZE (16 * 1024 * 1024)
+
 static void
 ram_probe(void)
 {
@@ -140,6 +143,8 @@ ram_probe(void)
         // other page for EPT real mode pagetable
         add_e820(0xfffbc000, 4*4096, E820_RESERVED);
 
+    add_e820(VBE_DISPI_LFB_PHYSICAL_ADDRESS, VGA_RAM_SIZE, E820_RESERVED);
+
     dprintf(1, "Ram Size=0x%08x (0x%08x%08x high)\n"
             , RamSize, (u32)(RamSizeOver4G >> 32), (u32)RamSizeOver4G);
 }



More information about the SeaBIOS mailing list