Map 0xe0000-0xfffff instead of 0xf0000-0xfffff.
authorMichał Januszewski <spock@gentoo.org>
Sun, 7 Sep 2008 23:25:22 +0000 (8 01:25 +0200)
committerMichał Januszewski <spock@gentoo.org>
Sun, 7 Sep 2008 23:25:22 +0000 (8 01:25 +0200)
Parts of the BIOS can be located in the 0xe000 memory segment.  Gentoo
bug #226107 provides at least one example where not mapping this part
of the memory caused the Video BIOS to fail.

v86.h

diff --git a/v86.h b/v86.h
index b6be871..a64b6a2 100644 (file)
--- a/v86.h
+++ b/v86.h
@@ -46,8 +46,8 @@ void v86_cleanup();
 #define EBDA_BASE                      0x9fc00
 #define VRAM_BASE                      0xa0000
 #define VRAM_SIZE                      0x20000
-#define SBIOS_SIZE                     0x10000
-#define SBIOS_BASE                     0xf0000
+#define SBIOS_SIZE                     0x20000
+#define SBIOS_BASE                     0xe0000
 #define VBIOS_BASE                     0xc0000
 
 u32 v86_mem_alloc(int size);