Buggfixes for VS 4000/VLC. Basic support for VS4000/90 and MV4000/300.
From Michael Kukat.
This commit is contained in:
parent
e84fe91c51
commit
dbc385934b
|
@ -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 "VAX780"
|
|||
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 @@ file-system CD9660
|
|||
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
|
||||
|
|
|
@ -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 @@ file arch/vax/uba/dh.c dh needs-flag
|
|||
# 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/ka43.c vax43
|
|||
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
|
||||
|
|
|
@ -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 @@ delay(i)
|
|||
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.
|
||||
|
|
|
@ -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 @@ struct consdev constab[]={
|
|||
#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
|
||||
|
|
|
@ -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 @@ start()
|
|||
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 @@ start()
|
|||
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 @@ start()
|
|||
#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:
|
||||
|
@ -242,6 +257,13 @@ start()
|
|||
break;
|
||||
}
|
||||
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;
|
||||
|
|
|
@ -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 @@ dzcnprobe(cndev)
|
|||
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:
|
||||
case VAX_BTYP_46:
|
||||
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;
|
||||
min = 3;
|
||||
pri = CN_REMOTE;
|
||||
}
|
||||
dz_regs = iospace;
|
||||
ioaccess(iospace, 0x200A0000, 1);
|
||||
break;
|
||||
|
||||
case VAX_BTYP_46:
|
||||
/* if (vax_confdata & 0x100) */
|
||||
min = 3;
|
||||
break;
|
||||
|
||||
case VAX_BTYP_49:
|
||||
case VAX_BTYP_48:
|
||||
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
|
||||
|
|
|
@ -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 @@ si_match(parent, cf, aux)
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue