diff options
author | imp <imp@cvs.openbsd.org> | 1996-09-19 00:30:40 +0000 |
---|---|---|
committer | imp <imp@cvs.openbsd.org> | 1996-09-19 00:30:40 +0000 |
commit | d59dfa11094a8496c172bb6681b51d3eb2b95afa (patch) | |
tree | acda5c3c015cf30e0b62d7441cffc19e134596c5 /sys/arch/arc/isa | |
parent | f85e57442446ff132062ad5cfe43d063ecf4f568 (diff) |
Deskstation rPC44 tweaks
Diffstat (limited to 'sys/arch/arc/isa')
-rw-r--r-- | sys/arch/arc/isa/isabus.c | 17 |
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; |