Deskstation rPC44 tweaks
authorimp <imp@openbsd.org>
Thu, 19 Sep 1996 00:30:34 +0000 (00:30 +0000)
committerimp <imp@openbsd.org>
Thu, 19 Sep 1996 00:30:34 +0000 (00:30 +0000)
sys/arch/arc/arc/clock.c
sys/arch/arc/arc/clock_mc.c
sys/arch/arc/arc/machdep.c
sys/arch/arc/arc/mainbus.c
sys/arch/arc/conf/files.arc
sys/arch/arc/dev/pccons.c
sys/arch/arc/isa/isabus.c

index 11e5bf8..a9a651f 100644 (file)
@@ -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");
index 6bde025..698f47f 100644 (file)
@@ -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;
index f20db58..3ac1c55 100644 (file)
@@ -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(); */
 }
 
 /*
index bfce5f9..55a2afc 100644 (file)
@@ -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;
index 633eb77..011fa32 100644 (file)
@@ -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)
index 0bd1443..c3e9462 100644 (file)
@@ -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;
        }
 }
 
index be51509..3cb7e43 100644 (file)
@@ -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;