diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2009-05-15 21:51:59 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2009-05-15 21:51:59 +0000 |
commit | 80987be514eb74e84fe7bc91f5333a1cf7b2b914 (patch) | |
tree | ea7fc5ca695c07d18cfdfe2f54765744e04208cf /sys | |
parent | b0ae5b509558c66a70f0e199f40b9521542e19e3 (diff) |
On the Intel 82801BAM Hub-to-PCI, pass the main PCI io and mmio extents if
there are no windows enabled. Restores CardBus functionality on some
machines with Intel chipsets.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/ppb.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/dev/pci/ppb.c b/sys/dev/pci/ppb.c index d5e066b43e0..6b9b39c2606 100644 --- a/sys/dev/pci/ppb.c +++ b/sys/dev/pci/ppb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ppb.c,v 1.32 2009/05/05 14:16:17 kettenis Exp $ */ +/* $OpenBSD: ppb.c,v 1.33 2009/05/15 21:51:58 kettenis Exp $ */ /* $NetBSD: ppb.c,v 1.16 1997/06/06 23:48:05 thorpej Exp $ */ /* @@ -227,6 +227,19 @@ ppbattach(struct device *parent, struct device *self, void *aux) } } + /* + * The Intel 82801BAM Hub-to-PCI can decode subtractively. + * XXX We probably should handle subtractive decode bridges + * in general. + */ + if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_INTEL && + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_INTEL_82801BAM_HPB) { + if (sc->sc_ioex == NULL) + sc->sc_ioex = pa->pa_ioex; + if (sc->sc_memex == NULL) + sc->sc_memex = pa->pa_memex; + } + attach: /* * Attach the PCI bus that hangs off of it. |