Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/vax Buggfixes for VS 4000/VLC. Basic support for VS...



details:   https://anonhg.NetBSD.org/src/rev/f5416b51a013
branches:  trunk
changeset: 467639:f5416b51a013
user:      ragge <ragge%NetBSD.org@localhost>
date:      Fri Mar 26 22:04:07 1999 +0000

description:
Buggfixes for VS 4000/VLC. Basic support for VS4000/90 and MV4000/300.
>From Michael Kukat.

diffstat:

 sys/arch/vax/conf/GENERIC   |   6 +++++-
 sys/arch/vax/conf/files.vax |   8 ++++----
 sys/arch/vax/vax/clock.c    |   4 ++--
 sys/arch/vax/vax/conf.c     |   4 ++--
 sys/arch/vax/vax/locore.c   |  32 +++++++++++++++++++++++++++-----
 sys/arch/vax/vsa/dz_vsbus.c |  32 +++++++++++++++++++++-----------
 sys/arch/vax/vsa/ncr.c      |   8 ++++++--
 7 files changed, 67 insertions(+), 27 deletions(-)

diffs (255 lines):

diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/conf/GENERIC
--- a/sys/arch/vax/conf/GENERIC Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/conf/GENERIC Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: GENERIC,v 1.44 1999/03/13 15:16:47 ragge Exp $
+#      $NetBSD: GENERIC,v 1.45 1999/03/26 22:04:07 ragge Exp $
 #
 # GENERIC VAX configuration file; all supported devices.
 #
@@ -12,10 +12,12 @@
 options        "VAX750"
 options        "VAX630"        # MV II
 options        "VAX650"        # MV III, 3600, 3800, 3900
+options        "VAX670"        # VAX 4000/300
 options        "VAX410"        # VS 2000
 options        "VAX43"         # VS 3100/76
 options        "VAX46"         # VS 4000/60
 options        "VAX48"         # VS 4000 VLC
+options        "VAX49"         # VS 4000/90
 
 # Max users on system; this is just a hint
 maxusers       8
@@ -48,10 +50,12 @@
 options        QUOTA
 #options       FFS_EI          # FFS Endian Independant support
 options        NFSSERVER
+options        NFS_BOOT_BOOTP,NFS_BOOT_DHCP    # Use bootp <> dhcp
 options        NFS_BOOT_BOOTPARAM      # Use the Sun way for netbooting.
 
 # WS console uses VT100 terminal emulation
 options        WSEMUL_VT100
+options        WSDISPLAY_DEFAULTSCREENS=8
 
 # System V shared memory & semaphores support.
 options        SYSVMSG
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/conf/files.vax
--- a/sys/arch/vax/conf/files.vax       Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/conf/files.vax       Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-#       $NetBSD: files.vax,v 1.47 1999/03/13 15:16:47 ragge Exp $
+#       $NetBSD: files.vax,v 1.48 1999/03/26 22:04:07 ragge Exp $
 #
 # new style config file for vax architecture
 #
@@ -306,11 +306,11 @@
 # These are general files needed for compilation.
 file   dev/cons.c
 file   dev/cninit.c
-file   dev/clock_subr.c        vax8200|vax410|vax43|vax630|vax46|vax48
+file   dev/clock_subr.c        vax8200|vax410|vax43|vax630|vax46|vax48|vax49
 file   arch/vax/vax/locore.c
 file   arch/vax/vax/mem.c
 file   arch/vax/vax/clock.c
-file   arch/vax/vax/gencons.c  vax8600|vax8200|vax780|vax750|vax630|vax650
+file   arch/vax/vax/gencons.c  vax8600|vax8200|vax780|vax750|vax630|vax650|vax670
 file   arch/vax/vax/pmap.c
 file   arch/vax/vax/machdep.c
 file   arch/vax/vax/ka750.c            vax750
@@ -327,7 +327,7 @@
 file   arch/vax/vax/ka46.c             vax46
 file   arch/vax/vax/ka48.c             vax48
 file   arch/vax/vax/emulate.s          vax630|vax650|vax410
-file   arch/vax/vax/ka650.c            vax650
+file   arch/vax/vax/ka650.c            vax650|vax670
 file   arch/vax/vax/scb.c
 file   arch/vax/vax/conf.c
 file   arch/vax/vax/urem.s
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/vax/clock.c
--- a/sys/arch/vax/vax/clock.c  Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/vax/clock.c  Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: clock.c,v 1.26 1999/03/09 12:57:58 ragge Exp $  */
+/*     $NetBSD: clock.c,v 1.27 1999/03/26 22:04:07 ragge Exp $  */
 /*
  * Copyright (c) 1995 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -153,7 +153,7 @@
        asm ("1: sobgtr %0, 1b" : : "r" (dep_call->cpu_vups * i));
 }
 
-#if VAX750 || VAX780 || VAX8200 || VAX8600 || VAX8800 || VAX48
+#if VAX750 || VAX780 || VAX8200 || VAX8600 || VAX8800 || VAX48 || VAX49
 /*
  * On most VAXen there are a microsecond clock that should
  * be used for interval interrupts. Have a generic version here.
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/vax/conf.c
--- a/sys/arch/vax/vax/conf.c   Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/vax/conf.c   Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: conf.c,v 1.40 1999/03/09 12:57:58 ragge Exp $  */
+/*     $NetBSD: conf.c,v 1.41 1999/03/26 22:04:07 ragge Exp $  */
 
 /*-
  * Copyright (c) 1982, 1986 The Regents of the University of California.
@@ -177,7 +177,7 @@
 #else
 #define NGEN   0
 #endif
-#if VAX410 || VAX43 || VAX48
+#if VAX410 || VAX43 || VAX46 || VAX48 || VAX49
        cons_init(dz),  /* DZ11-like serial console on VAXstations */
 #endif
 #if VAX650 || VAX630
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/vax/locore.c
--- a/sys/arch/vax/vax/locore.c Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/vax/locore.c Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.c,v 1.34 1999/03/09 12:57:58 ragge Exp $        */
+/*     $NetBSD: locore.c,v 1.35 1999/03/26 22:04:07 ragge Exp $        */
 /*
  * Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -139,12 +139,13 @@
                vax_boardtype = (vax_cputype<<24) | ((vax_siedata>>24)&0xFF);
 
                switch (vax_boardtype) {
-#if VAX410 || VAX43 || VAX46 || VAX48
+#if VAX410 || VAX43 || VAX46 || VAX48 || VAX49
                case VAX_BTYP_420: /* They are very similar */
                case VAX_BTYP_410:
                case VAX_BTYP_43:
                case VAX_BTYP_46:
                case VAX_BTYP_48:
+               case VAX_BTYP_49:
                        vax_confdata = *(int *)(0x20020000);
                        vax_bustype = VAX_VSBUS | VAX_CPUBUS;
 #if VAX410
@@ -164,8 +165,17 @@
                        if (vax_boardtype == VAX_BTYP_48)
                                dep_call = &ka48_calls;
 #endif
-                       strcpy(cpu_model, (vax_confdata & 0x80 ?
-                           "MicroVAX " : "VAXstation "));
+#if VAX49
+                       if (vax_boardtype == VAX_BTYP_49)
+                               dep_call = &ka48_calls;
+#endif
+                       if ((dep_call == &ka410_calls ||
+                           dep_call == &ka43_calls) &&
+                           (vax_confdata & 0x80))
+                               strcpy(cpu_model, "MicroVAX ");
+                       else
+                               strcpy(cpu_model, "VAXstation ");
+
                        switch (vax_boardtype) {
 #if VAX410
                        case VAX_BTYP_410:
@@ -184,7 +194,12 @@
 #endif
 #if VAX48
                        case VAX_BTYP_48:
-                               strcpy(cpu_model, "VAXstation 4000 VLC");
+                               strcat(cpu_model, "4000 VLC");
+                               break;
+#endif
+#if VAX49
+                       case VAX_BTYP_49:
+                               strcat(cpu_model, "4000/90");
                                break;
 #endif
                        default:
@@ -243,6 +258,13 @@
                        }
                        break;
 #endif
+#if VAX670
+               case VAX_BTYP_670:
+                       dep_call = &ka650_calls;
+                       vax_bustype = VAX_UNIBUS | VAX_CPUBUS;
+                       strcpy(cpu_model,"VAX 4000/300");
+                       break;
+#endif
                default:
                        break;
                }
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/vsa/dz_vsbus.c
--- a/sys/arch/vax/vsa/dz_vsbus.c       Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/vsa/dz_vsbus.c       Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: dz_vsbus.c,v 1.9 1999/03/13 15:16:48 ragge Exp $ */
+/*     $NetBSD: dz_vsbus.c,v 1.10 1999/03/26 22:04:07 ragge Exp $ */
 /*
  * Copyright (c) 1998 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -178,28 +178,38 @@
        struct  consdev *cndev;
 {
        extern  vaddr_t iospace;
+       int pri = CN_NORMAL, min = 0;
 
        switch (vax_boardtype) {
        case VAX_BTYP_410:
        case VAX_BTYP_420:
        case VAX_BTYP_43:
+               if (vax_confdata & 0x20) {
+                       min = 3;
+                       pri = CN_REMOTE;
+               }
+               break;
+
        case VAX_BTYP_46:
+               /* if (vax_confdata & 0x100) */
+                       min = 3;
+               break;
+
+       case VAX_BTYP_49:
        case VAX_BTYP_48:
-               if (vax_confdata & 0x20) {
-                       cndev->cn_dev = makedev(DZMAJOR, 3);
-                       cndev->cn_pri = CN_REMOTE;
-               } else {
-                       cndev->cn_dev = makedev(DZMAJOR, 0);
-                       cndev->cn_pri = CN_NORMAL;
-               }
-               dz_regs = iospace;
-               ioaccess(iospace, 0x200A0000, 1);
+               min = 3;
                break;
 
        default:
-               cndev->cn_pri = CN_DEAD;
+               pri = CN_DEAD;
                break;
        }
+       cndev->cn_pri = pri;
+       if (pri != CN_DEAD) {
+               cndev->cn_dev = makedev(DZMAJOR, min);
+               dz_regs = iospace;
+               ioaccess(iospace, 0x200A0000, 1);
+       }
 }
 
 void
diff -r aa666e749914 -r f5416b51a013 sys/arch/vax/vsa/ncr.c
--- a/sys/arch/vax/vsa/ncr.c    Fri Mar 26 22:00:24 1999 +0000
+++ b/sys/arch/vax/vsa/ncr.c    Fri Mar 26 22:04:07 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ncr.c,v 1.18 1999/03/13 15:16:48 ragge Exp $   */
+/*     $NetBSD: ncr.c,v 1.19 1999/03/26 22:04:07 ragge Exp $   */
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -126,7 +126,11 @@
        struct vsbus_attach_args *va = aux;
        volatile char *si_csr = (char *) va->va_addr;
 
-       si_csr[4] = 0xcf;
+       /* This is the way Linux autoprobes the interrupt MK-990321 */
+       si_csr[12] = 0;
+       si_csr[16] = 0x80;
+       si_csr[0] = 0x80;
+       si_csr[4] = 5; /* 0xcf */
        DELAY(100000);
        va->va_ivec = si_intr;
        return 1;



Home | Main Index | Thread Index | Old Index