summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2003-10-31 04:11:42 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2003-10-31 04:11:42 +0000
commit11a3d8d7b002a9af55d82bfc6cc9d17442384242 (patch)
tree5e54037aa875413b04d5edb711f426c0ce1a131d
parent1c773e53a8cbd2fdfb460b15cf12f001ed981b59 (diff)
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);