summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/dev/dino.c
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2004-02-13 20:39:32 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2004-02-13 20:39:32 +0000
commitdb4af995199bc75869f43966710f40270e2e4aeb (patch)
tree1f2a4c4738d21b7bec674b8a1fefb7398c2a1ba5 /sys/arch/hppa/dev/dino.c
parent15606a6640acfb75f08cff43b29b5fe1eddd776b (diff)
support secondary com@dino from todd@
Diffstat (limited to 'sys/arch/hppa/dev/dino.c')
-rw-r--r--sys/arch/hppa/dev/dino.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/arch/hppa/dev/dino.c b/sys/arch/hppa/dev/dino.c
index 6b928796d75..90836648631 100644
--- a/sys/arch/hppa/dev/dino.c
+++ b/sys/arch/hppa/dev/dino.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dino.c,v 1.4 2003/12/23 12:07:11 mickey Exp $ */
+/* $OpenBSD: dino.c,v 1.5 2004/02/13 20:39:31 mickey Exp $ */
/*
* Copyright (c) 2003 Michael Shalayeff
@@ -231,15 +231,15 @@ dino_intr_establish(void *v, pci_intr_handle_t ih,
volatile struct dino_regs *r = sc->sc_regs;
void *iv;
- /* no mapping */
- if (ih == 0)
+ /* no mapping or bogus */
+ if (ih <= 0 || ih > 11)
return (NULL);
if ((iv = cpu_intr_map(sc->sc_ih, pri, ih - 1, handler, arg, name))) {
if (cold)
sc->sc_imr |= (1 << (ih - 1));
else
- r->imr |= (1 << (ih - 1));
+ r->imr = sc->sc_imr |= (1 << (ih - 1));
r->icr &= ~(1 << (ih - 1));
}
@@ -1534,6 +1534,10 @@ dinoattach(parent, self, aux)
sc->sc_dmatag = dino_dmat;
sc->sc_dmatag._cookie = sc;
+ /* scan for ps2 kbd/ms, serial, and flying toasters */
+ ca->ca_hpamask = -1;
+ pdc_scanbus(self, ca, MAXMODBUS);
+
pba.pba_busname = "pci";
pba.pba_iot = &sc->sc_iot;
pba.pba_memt = &sc->sc_memt;