summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2003-11-14 20:14:33 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2003-11-14 20:14:33 +0000
commit0626d4d97f32f244625e741aeb037c1ab02e3bab (patch)
treebab588ee75375d03999e457d6a4b84d846340a1b /sys
parent3ee0e8b9f18e19d54b08c3621506e49eac93e5bb (diff)
Enable pci address fixup, include a workaround for the fact that
the ISA space address shows up in the PCI address space register, and that ISA space is outside of the PCI address range.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/pegasos/pci/mpcpcibus.c4
-rw-r--r--sys/arch/pegasos/pci/pci_addr_fixup.c11
2 files changed, 11 insertions, 4 deletions
diff --git a/sys/arch/pegasos/pci/mpcpcibus.c b/sys/arch/pegasos/pci/mpcpcibus.c
index ccd256e2aa8..73e7644b52e 100644
--- a/sys/arch/pegasos/pci/mpcpcibus.c
+++ b/sys/arch/pegasos/pci/mpcpcibus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpcpcibus.c,v 1.2 2003/11/03 05:06:22 david Exp $ */
+/* $OpenBSD: mpcpcibus.c,v 1.3 2003/11/14 20:14:32 drahn Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom
@@ -308,8 +308,8 @@ mpcpcibrattach(struct device *parent, struct device *self, void *aux)
printf("\n");
/*
- pci_addr_fixup(sc, &lcp->lc_pc, 32);
*/
+ pci_addr_fixup(sc, &lcp->lc_pc, 32);
pba.pba_dmat = &pci_bus_dma_tag;
diff --git a/sys/arch/pegasos/pci/pci_addr_fixup.c b/sys/arch/pegasos/pci/pci_addr_fixup.c
index 4a429d23059..cac657ebf15 100644
--- a/sys/arch/pegasos/pci/pci_addr_fixup.c
+++ b/sys/arch/pegasos/pci/pci_addr_fixup.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_addr_fixup.c,v 1.2 2003/11/03 05:06:22 david Exp $ */
+/* $OpenBSD: pci_addr_fixup.c,v 1.3 2003/11/14 20:14:32 drahn Exp $ */
/* $NetBSD: pci_addr_fixup.c,v 1.7 2000/08/03 20:10:45 nathanw Exp $ */
/*-
@@ -222,7 +222,14 @@ pciaddr_resource_manage(struct pcibr_softc *sc, pci_chipset_tag_t pc,
continue;
/* reservation/allocation phase */
- error += (*func) (sc, pc, tag, mapreg, ex, type, &addr, size);
+
+ /*
+ * pegasos host bridge has register for isa space
+ * which is not in PCI XXX ???
+ */
+ if (addr != 0xffc00000)
+ error += (*func) (sc, pc, tag, mapreg, ex, type,
+ &addr, size);
PCIBIOS_PRINTV(("\t%02xh %s 0x%08x 0x%08x\n",
mapreg, type ? "port" : "mem ",