From 80987be514eb74e84fe7bc91f5333a1cf7b2b914 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Fri, 15 May 2009 21:51:59 +0000 Subject: 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. --- sys/dev/pci/ppb.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'sys/dev/pci') 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. -- cgit v1.2.3