[SeaBIOS] [PATCH] remove pci_bios_bigmem_addr; pci_bios_mem_addr=0xe0000000
Kevin O'Connor
kevin at koconnor.net
Thu Dec 24 03:33:44 CET 2009
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 - I'm not sure why the code was
using 0xf0000000.
-Kevin
--- a/src/pciinit.c
+++ b/src/pciinit.c
@@ -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) {
More information about the SeaBIOS
mailing list