Remove pci_bios_bigmem_addr; set pci_bios_mem_addr=0xe0000000
authorKevin O'Connor <kevin@koconnor.net>
Sun, 27 Dec 2009 04:23:15 +0000 (23:23 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 27 Dec 2009 04:23:15 +0000 (23:23 -0500)
This patch removes pci_bios_bigmem_addr, and it changes
pci_bios_mem_addr to start at 0xe0000000.

The pci_bios_bigmem_addr was removed from bochs.  Also, the current
code looks wrong as nothing stops an address given from
pci_bios_bigmem_addr from overlapping an address given from
pci_bios_mem_addr.

The change also moves pci_bios_mem_addr back to 0xe0000000 - both the
acpi and mtrr code use 0xe0000000.

src/pciinit.c

index 1e8e9b6c0146265aa0fb264103a5a9b44bd011a4..a6070e7ae8c6baa6324fc75e0f307362c2bbef39 100644 (file)
@@ -16,7 +16,6 @@
 
 static u32 pci_bios_io_addr;
 static u32 pci_bios_mem_addr;
-static u32 pci_bios_bigmem_addr;
 /* host irqs corresponding to PCI irqs A-D */
 static u8 pci_irqs[4] = {
     10, 10, 11, 11
@@ -150,8 +149,6 @@ static void pci_bios_init_device(u16 bdf)
                 u32 size = (~(val & mask)) + 1;
                 if (val & PCI_BASE_ADDRESS_SPACE_IO)
                     paddr = &pci_bios_io_addr;
-                else if (size >= 0x04000000)
-                    paddr = &pci_bios_bigmem_addr;
                 else
                     paddr = &pci_bios_mem_addr;
                 *paddr = ALIGN(*paddr, size);
@@ -197,10 +194,7 @@ pci_setup(void)
     dprintf(3, "pci setup\n");
 
     pci_bios_io_addr = 0xc000;
-    pci_bios_mem_addr = 0xf0000000;
-    pci_bios_bigmem_addr = RamSize;
-    if (pci_bios_bigmem_addr < 0x90000000)
-        pci_bios_bigmem_addr = 0x90000000;
+    pci_bios_mem_addr = BUILD_MAX_HIGHMEM;
 
     int bdf, max;
     foreachpci(bdf, max) {