diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2003-11-14 20:14:33 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2003-11-14 20:14:33 +0000 |
commit | 0626d4d97f32f244625e741aeb037c1ab02e3bab (patch) | |
tree | bab588ee75375d03999e457d6a4b84d846340a1b /sys | |
parent | 3ee0e8b9f18e19d54b08c3621506e49eac93e5bb (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.c | 4 | ||||
-rw-r--r-- | sys/arch/pegasos/pci/pci_addr_fixup.c | 11 |
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 ", |