diff options
Diffstat (limited to 'sys/dev/pci/ppb.c')
-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. |