summaryrefslogtreecommitdiff
path: root/sys
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
parentf85e57442446ff132062ad5cfe43d063ecf4f568 (diff)
Deskstation rPC44 tweaks
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/arc/arc/clock.c6
-rw-r--r--sys/arch/arc/arc/clock_mc.c3
-rw-r--r--sys/arch/arc/arc/machdep.c13
-rw-r--r--sys/arch/arc/arc/mainbus.c6
-rw-r--r--sys/arch/arc/conf/files.arc4
-rw-r--r--sys/arch/arc/dev/pccons.c13
-rw-r--r--sys/arch/arc/isa/isabus.c17
7 files changed, 48 insertions, 14 deletions
diff --git a/sys/arch/arc/arc/clock.c b/sys/arch/arc/arc/clock.c
index 11e5bf83de5..a9a651ff4b3 100644
--- a/sys/arch/arc/arc/clock.c
+++ b/sys/arch/arc/arc/clock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clock.c,v 1.2 1996/09/14 15:58:13 pefo Exp $ */
+/* $OpenBSD: clock.c,v 1.3 1996/09/19 00:30:34 imp Exp $ */
/*
* Copyright (c) 1988 University of Utah.
* Copyright (c) 1992, 1993
@@ -39,7 +39,7 @@
* from: Utah Hdr: clock.c 1.18 91/01/21
*
* from: @(#)clock.c 8.1 (Berkeley) 6/10/93
- * $Id: clock.c,v 1.2 1996/09/14 15:58:13 pefo Exp $
+ * $Id: clock.c,v 1.3 1996/09/19 00:30:34 imp Exp $
*/
#include <sys/param.h>
@@ -103,6 +103,7 @@ clockmatch(parent, cfdata, aux)
break;
+ case DESKSTATION_RPC44:
case DESKSTATION_TYNE:
break;
@@ -142,6 +143,7 @@ clockattach(parent, self, aux)
(intr_handler_t)hardclock, self);
break;
+ case DESKSTATION_RPC44:
case DESKSTATION_TYNE:
(void)isa_intr_establish(ia->ia_ic,
0, 1, 3, clockintr, 0, "clock");
diff --git a/sys/arch/arc/arc/clock_mc.c b/sys/arch/arc/arc/clock_mc.c
index 6bde0257a2b..698f47ff200 100644
--- a/sys/arch/arc/arc/clock_mc.c
+++ b/sys/arch/arc/arc/clock_mc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clock_mc.c,v 1.3 1996/09/14 15:58:13 pefo Exp $ */
+/* $OpenBSD: clock_mc.c,v 1.4 1996/09/19 00:30:35 imp Exp $ */
/* $NetBSD: clock_mc.c,v 1.2 1995/06/28 04:30:30 cgd Exp $ */
/*
@@ -125,6 +125,7 @@ mcclock_attach(parent, self, aux)
mcclockdata_tyne.mc_addr = BUS_CVTADDR(ca);
break;
+ case DESKSTATION_RPC44:
case DESKSTATION_TYNE:
csc->sc_init = mcclock_init_tyne;
csc->sc_data = &mcclockdata_tyne;
diff --git a/sys/arch/arc/arc/machdep.c b/sys/arch/arc/arc/machdep.c
index f20db586d2f..3ac1c556d2d 100644
--- a/sys/arch/arc/arc/machdep.c
+++ b/sys/arch/arc/arc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.12 1996/09/14 15:58:16 pefo Exp $ */
+/* $OpenBSD: machdep.c,v 1.13 1996/09/19 00:30:36 imp Exp $ */
/*
* Copyright (c) 1988 University of Utah.
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 8.3 (Berkeley) 1/12/94
- * $Id: machdep.c,v 1.12 1996/09/14 15:58:16 pefo Exp $
+ * $Id: machdep.c,v 1.13 1996/09/19 00:30:36 imp Exp $
*/
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
@@ -217,8 +217,8 @@ mips_init(argc, argv, code)
case DESKSTATION_RPC44:
strcpy(cpu_model, "Deskstation rPC44");
- isa_io_base = TYNE_V_ISA_IO; /*XXX*/
- isa_mem_base = TYNE_V_ISA_MEM; /*XXX*/
+ isa_io_base = 0xb0000000; /*XXX*/
+ isa_mem_base = 0xa0000000; /*XXX*/
break;
case DESKSTATION_TYNE:
@@ -303,6 +303,9 @@ mips_init(argc, argv, code)
case DESKSTATION_TYNE:
tlb_init_tyne();
break;
+
+ case DESKSTATION_RPC44:
+ break;
}
/*
@@ -520,7 +523,7 @@ consinit()
return;
initted = 1;
cninit();
-mdbpanic();
+/* mdbpanic(); */
}
/*
diff --git a/sys/arch/arc/arc/mainbus.c b/sys/arch/arc/arc/mainbus.c
index bfce5f99e2a..55a2afcfc51 100644
--- a/sys/arch/arc/arc/mainbus.c
+++ b/sys/arch/arc/arc/mainbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mainbus.c,v 1.2 1996/09/14 15:58:17 pefo Exp $ */
+/* $OpenBSD: mainbus.c,v 1.3 1996/09/19 00:30:36 imp Exp $ */
/* $NetBSD: mainbus.c,v 1.3 1995/06/28 02:45:10 cgd Exp $ */
/*
@@ -116,8 +116,10 @@ mbattach(parent, self, aux)
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
}
+ /* XXX I think all ARC machines have this, no? XXX */
if (cputype == ACER_PICA_61 ||
- cputype == DESKSTATION_TYNE) {
+ cputype == DESKSTATION_TYNE ||
+ cputype == DESKSTATION_RPC44) {
/* we have an ISA bus! */
nca.ca_name = "isabr";
nca.ca_slot = 0;
diff --git a/sys/arch/arc/conf/files.arc b/sys/arch/arc/conf/files.arc
index 633eb77d938..011fa32179c 100644
--- a/sys/arch/arc/conf/files.arc
+++ b/sys/arch/arc/conf/files.arc
@@ -1,4 +1,4 @@
-# $OpenBSD: files.arc,v 1.6 1996/09/17 18:31:59 pefo Exp $
+# $OpenBSD: files.arc,v 1.7 1996/09/19 00:30:37 imp Exp $
#
# maxpartitions must be first item in files.${ARCH}
#
@@ -119,7 +119,7 @@ file arch/arc/dev/lpr.c lpr & (lpr_isa | lpr_pica) needs-flag
# BusLogic BT-445C VLB SCSI Controller. Special on TYNE local bus.
device btl: scsi
attach btl at isa
-file arch/dti/isa/btl.c btl needs-count
+file arch/arc/dti/btl.c btl needs-count
# National Semiconductor DS8390/WD83C690-based boards
# (WD/SMC 80x3 family, SMC Ultra [8216], 3Com 3C503, NE[12]000, and clones)
diff --git a/sys/arch/arc/dev/pccons.c b/sys/arch/arc/dev/pccons.c
index 0bd14436d4b..c3e9462a155 100644
--- a/sys/arch/arc/dev/pccons.c
+++ b/sys/arch/arc/dev/pccons.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccons.c,v 1.7 1996/09/14 15:58:22 pefo Exp $ */
+/* $OpenBSD: pccons.c,v 1.8 1996/09/19 00:30:38 imp Exp $ */
/* $NetBSD: pccons.c,v 1.89 1995/05/04 19:35:20 cgd Exp $ */
/*-
@@ -513,6 +513,7 @@ pcattach(parent, self, aux)
case ACER_PICA_61:
BUS_INTR_ESTABLISH(ca, pcintr, (void *)(long)sc);
break;
+ case DESKSTATION_RPC44: /* XXX ick */
case DESKSTATION_TYNE:
isa_intr_establish(ia->ia_ic, ia->ia_irq, 1,
2, pcintr, sc, sc->sc_dev.dv_xname); /*XXX ick */
@@ -822,6 +823,16 @@ pccninit(cp)
outb(TYNE_V_ISA_IO + 0x3cf, inb(TYNE_V_ISA_IO + 0x3cf) | 0xc);
kbc_put8042cmd(CMDBYTE); /* Want XT codes.. */
break;
+
+ case DESKSTATION_RPC44:
+ mono_base += isa_io_base;
+ mono_buf += isa_mem_base;
+ cga_base += isa_io_base;
+ cga_buf = isa_mem_base + 0xa0000;
+ kbd_cmdp = isa_io_base + 0x64;
+ kbd_datap = isa_io_base + 0x60;
+ kbc_put8042cmd(CMDBYTE); /* Want XT codes.. */
+ break;
}
}
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;