[OpenBIOS] [PATCH 3/3] pci: use absolute PCI IO addresses when programming bridge IO limits

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Aug 12 14:55:12 CEST 2018


The upper IO bridge limit was being calculated relative to the lower IO
bridge limit, rather than as an absolute address.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
 drivers/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci.c b/drivers/pci.c
index e674cfb..7a174b4 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -1599,7 +1599,7 @@ static void ob_configure_pci_bridge(pci_addr addr,
        Some drivers (e.g. IDE) will attempt ioport access as part of
        the configuration process, so we allow them during the secondary
        bus scan and then set the correct IO limit below. */
-    io_scan_limit = *io_base + (0xffff - *io_base);
+    io_scan_limit = *io_base + 0xffff;
     pci_config_write16(addr, PCI_IO_LIMIT_UPPER, (io_scan_limit >> 16));
     pci_config_write8(addr, PCI_IO_LIMIT, (io_scan_limit >> 8) & ~(0xf));
 
-- 
2.11.0




More information about the OpenBIOS mailing list