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