summaryrefslogtreecommitdiff
path: root/sys/arch/arc/isa
diff options
context:
space:
mode:
authorimp <imp@cvs.openbsd.org>1996-09-19 00:30:40 +0000
committerimp <imp@cvs.openbsd.org>1996-09-19 00:30:40 +0000
commitd59dfa11094a8496c172bb6681b51d3eb2b95afa (patch)
treeacda5c3c015cf30e0b62d7441cffc19e134596c5 /sys/arch/arc/isa
parentf85e57442446ff132062ad5cfe43d063ecf4f568 (diff)
Deskstation rPC44 tweaks
Diffstat (limited to 'sys/arch/arc/isa')
-rw-r--r--sys/arch/arc/isa/isabus.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/arch/arc/isa/isabus.c b/sys/arch/arc/isa/isabus.c
index be51509192c..3cb7e439c0c 100644
--- a/sys/arch/arc/isa/isabus.c
+++ b/sys/arch/arc/isa/isabus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isabus.c,v 1.3 1996/09/14 15:58:27 pefo Exp $ */
+/* $OpenBSD: isabus.c,v 1.4 1996/09/19 00:30:39 imp Exp $ */
/* $NetBSD: isa.c,v 1.33 1995/06/28 04:30:51 cgd Exp $ */
/*-
@@ -179,6 +179,9 @@ isabrattach(parent, self, aux)
case DESKSTATION_TYNE:
set_intr(INT_MASK_2, isabr_iointr, 2);
break;
+ case DESKSTATION_RPC44:
+ set_intr(INT_MASK_2, isabr_iointr, 2);
+ break;
default:
panic("isabrattach: unkown cputype!");
}
@@ -402,6 +405,18 @@ isabr_iointr(mask, cf)
}
isa_vector = (vector & 7) | 8;
}
+ case DESKSTATION_RPC44:
+ isa_outb(IO_ICU1, 0x0f); /* Poll */
+ vector = isa_inb(IO_ICU1);
+ if(vector > 0 || (isa_vector = vector & 7) == 2) {
+ isa_outb(IO_ICU2, 0x0f);
+ vector = isa_inb(IO_ICU2);
+ if(vector > 0) {
+ printf("isa: spurious interrupt.\n");
+ return(~0);
+ }
+ isa_vector = (vector & 7) | 8;
+ }
}
o_imen = imen;