summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordrahn <drahn@openbsd.org>2003-10-31 04:11:41 +0000
committerdrahn <drahn@openbsd.org>2003-10-31 04:11:41 +0000
commit30b1d80938f3ef4d613640a3809fd7bbf6f1befe (patch)
tree4cabd97176cc479a3853ce4b69315a62251c1eaa
parentWork around a problem where the vga code expects to be able to map isa (diff)
downloadwireguard-openbsd-30b1d80938f3ef4d613640a3809fd7bbf6f1befe.tar.xz
wireguard-openbsd-30b1d80938f3ef4d613640a3809fd7bbf6f1befe.zip
Work around a _really_ _nasty_ pciide attachment problem on pegasos,
it maps the IO in PCI space, but assumes tradition interrupt mappings. Better solution welcome.
-rw-r--r--sys/dev/pci/pciide.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c
index 0032f94cc19..797daf25efb 100644
--- a/sys/dev/pci/pciide.c
+++ b/sys/dev/pci/pciide.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pciide.c,v 1.147 2003/10/29 18:46:43 matthieu Exp $ */
+/* $OpenBSD: pciide.c,v 1.148 2003/10/31 04:11:41 drahn Exp $ */
/* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */
/*
@@ -888,6 +888,13 @@ pciide_mapregs_native(pa, cp, cmdsizep, ctlsizep, pci_intr)
sc->sc_pci_ih = pci_intr_establish(pa->pa_pc,
intrhandle, IPL_BIO, pci_intr, sc,
sc->sc_wdcdev.sc_dev.dv_xname);
+#ifdef __pegasos__
+ /* stupid broken board */
+ if (intrhandle == 0xe)
+ pci_intr_establish(pa->pa_pc,
+ 0xf, IPL_BIO, pci_intr, sc,
+ sc->sc_wdcdev.sc_dev.dv_xname);
+#endif
#else
sc->sc_pci_ih = pci_intr_establish(pa->pa_pc,
intrhandle, IPL_BIO, pci_intr, sc);