From: imp Date: Thu, 19 Sep 1996 00:30:34 +0000 (+0000) Subject: Deskstation rPC44 tweaks X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=4311472c805583df0e786cfd703f6bd7c01e598c;p=openbsd Deskstation rPC44 tweaks --- 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 @@ -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;