This is needed in order to allocate more memory to pci devices
One side effect of this is that non-pea guests cant see more than 3giga
of ram anymore.
(vbe really sstart at 0xc0000000, pci start right after that)
Signed-off-by: Izik Eidus <address@hidden>
---
hw/pc.c | 6 +-
hw/vga_int.h | 2 +-
hw/vmware_vga.c | 4 +-
...ge-pci-mem-address-to-start-at-0xc0000000.patch | 79 ++++++++++++++++++++
pc-bios/bios-pq/series | 1 +
5 files changed, 86 insertions(+), 6 deletions(-)
create mode 100644
pc-bios/bios-pq/0011-bios-change-pci-mem-address-to-start-at-0xc0000000.patch
diff --git a/hw/pc.c b/hw/pc.c
index 57ba803..e26e2b5 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -771,9 +771,9 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
BlockDriverState *fd[MAX_FD];
- if (ram_size >= 0xe0000000 ) {
- above_4g_mem_size = ram_size - 0xe0000000;
- below_4g_mem_size = 0xe0000000;
+ if (ram_size >= 0xc0000000 ) {
+ above_4g_mem_size = ram_size - 0xc0000000;
+ below_4g_mem_size = 0xc0000000;
} else {
below_4g_mem_size = ram_size;
}
diff --git a/hw/vga_int.h b/hw/vga_int.h
index f97e98f..57f20bf 100644
--- a/hw/vga_int.h
+++ b/hw/vga_int.h
@@ -59,7 +59,7 @@
#define VBE_DISPI_LFB_ENABLED 0x40
#define VBE_DISPI_NOCLEARMEM 0x80
-#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000
+#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xC0000000
#ifdef CONFIG_BOCHS_VBE
diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
index d1cba28..5ee0ad6 100644
--- a/hw/vmware_vga.c
+++ b/hw/vmware_vga.c
@@ -118,14 +118,14 @@ struct pci_vmsvga_state_s {
# define SVGA_IO_BASE SVGA_LEGACY_BASE_PORT
# define SVGA_IO_MUL 1
# define SVGA_FIFO_SIZE 0x10000
-# define SVGA_MEM_BASE 0xe0000000
+# define SVGA_MEM_BASE 0xc0000000
# define SVGA_PCI_DEVICE_ID PCI_DEVICE_ID_VMWARE_SVGA2
#else
# define SVGA_ID SVGA_ID_1
# define SVGA_IO_BASE SVGA_LEGACY_BASE_PORT
# define SVGA_IO_MUL 4
# define SVGA_FIFO_SIZE 0x10000
-# define SVGA_MEM_BASE 0xe0000000
+# define SVGA_MEM_BASE 0xc0000000
# define SVGA_PCI_DEVICE_ID PCI_DEVICE_ID_VMWARE_SVGA
#endif
diff --git a/pc-bios/bios-pq/0011-bios-change-pci-mem-address-to-start-at-0xc0000000.patch b/pc-bios/bios-pq/0011-bios-change-pci-mem-address-to-start-at-0xc0000000.patch