# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1231861367 0
# Node ID b169db55faf38fda27985626284c9262aac09784
# Parent d8267d3d26657ce5f84ffd4fcb60742791abef04
hvmloader: remove videoram allocation; move reserve base to 0xfc000000.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
tools/firmware/hvmloader/config.h | 4 ++--
tools/firmware/hvmloader/hvmloader.c | 16 ++++++----------
2 files changed, 8 insertions(+), 12 deletions(-)
diff -r d8267d3d2665 -r b169db55faf3 tools/firmware/hvmloader/config.h
--- a/tools/firmware/hvmloader/config.h Tue Jan 13 15:29:06 2009 +0000
+++ b/tools/firmware/hvmloader/config.h Tue Jan 13 15:42:47 2009 +0000
@@ -19,8 +19,8 @@
#define PCI_MEM_END 0xfc000000
extern unsigned long pci_mem_start, pci_mem_end;
-/* We reserve 16MB at the top of the 4GB memory hole. */
-#define RESERVED_MEMBASE 0xff000000
+/* We reserve 16MB for special BIOS mappings, etc. */
+#define RESERVED_MEMBASE 0xfc000000
#define RESERVED_MEMSIZE 0x01000000
#define ROMBIOS_SEG 0xF000
diff -r d8267d3d2665 -r b169db55faf3 tools/firmware/hvmloader/hvmloader.c
--- a/tools/firmware/hvmloader/hvmloader.c Tue Jan 13 15:29:06 2009 +0000
+++ b/tools/firmware/hvmloader/hvmloader.c Tue Jan 13 15:42:47 2009 +0000
@@ -622,7 +622,11 @@ static void build_e820_table(void)
e820[nr].type = E820_RAM;
nr++;
- /* Explicitly reserve space for special pages. */
+ /*
+ * Explicitly reserve space for special pages.
+ * This space starts at RESERVED_MEMBASE an extends to cover various
+ * fixed hardware mappings (e.g., LAPIC, IOAPIC, default SVGA framebuffer).
+ */
e820[nr].addr = RESERVED_MEMBASE;
e820[nr].size = (uint32_t)-e820[nr].addr;
e820[nr].type = E820_RESERVED;
@@ -644,7 +648,7 @@ int main(void)
{
int option_rom_sz = 0, vgabios_sz = 0, etherboot_sz = 0;
int rombios_sz, smbios_sz;
- uint32_t etherboot_phys_addr, option_rom_phys_addr, vga_ram = 0;
+ uint32_t etherboot_phys_addr, option_rom_phys_addr;
uint16_t xen_pfiob;
printf("HVM Loader\n");
@@ -690,12 +694,6 @@ int main(void)
default:
printf("No emulated VGA adaptor ...\n");
break;
- }
-
- if ( virtual_vga != VGA_none )
- {
- vga_ram = virt_to_phys(mem_alloc(8 << 20, 4096));
- printf("VGA RAM at %08x\n", vga_ram);
}
etherboot_phys_addr = VGABIOS_PHYSICAL_ADDRESS + vgabios_sz;
@@ -739,8 +737,6 @@ int main(void)
ROMBIOS_PHYSICAL_ADDRESS + rombios_sz - 1);
xen_pfiob = init_xen_platform_io_base();
- if ( xen_pfiob && vga_ram )
- outl(xen_pfiob + 4, vga_ram);
build_e820_table();
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|