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.
|
# GENERIC VAX configuration file; all supported devices.
|
||||||
#
|
#
|
||||||
|
@ -12,10 +12,12 @@ options "VAX780"
|
||||||
options "VAX750"
|
options "VAX750"
|
||||||
options "VAX630" # MV II
|
options "VAX630" # MV II
|
||||||
options "VAX650" # MV III, 3600, 3800, 3900
|
options "VAX650" # MV III, 3600, 3800, 3900
|
||||||
|
options "VAX670" # VAX 4000/300
|
||||||
options "VAX410" # VS 2000
|
options "VAX410" # VS 2000
|
||||||
options "VAX43" # VS 3100/76
|
options "VAX43" # VS 3100/76
|
||||||
options "VAX46" # VS 4000/60
|
options "VAX46" # VS 4000/60
|
||||||
options "VAX48" # VS 4000 VLC
|
options "VAX48" # VS 4000 VLC
|
||||||
|
options "VAX49" # VS 4000/90
|
||||||
|
|
||||||
# Max users on system; this is just a hint
|
# Max users on system; this is just a hint
|
||||||
maxusers 8
|
maxusers 8
|
||||||
|
@ -48,10 +50,12 @@ file-system CD9660
|
||||||
options QUOTA
|
options QUOTA
|
||||||
#options FFS_EI # FFS Endian Independant support
|
#options FFS_EI # FFS Endian Independant support
|
||||||
options NFSSERVER
|
options NFSSERVER
|
||||||
|
options NFS_BOOT_BOOTP,NFS_BOOT_DHCP # Use bootp <> dhcp
|
||||||
options NFS_BOOT_BOOTPARAM # Use the Sun way for netbooting.
|
options NFS_BOOT_BOOTPARAM # Use the Sun way for netbooting.
|
||||||
|
|
||||||
# WS console uses VT100 terminal emulation
|
# WS console uses VT100 terminal emulation
|
||||||
options WSEMUL_VT100
|
options WSEMUL_VT100
|
||||||
|
options WSDISPLAY_DEFAULTSCREENS=8
|
||||||
|
|
||||||
# System V shared memory & semaphores support.
|
# System V shared memory & semaphores support.
|
||||||
options SYSVMSG
|
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
|
# 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.
|
# These are general files needed for compilation.
|
||||||
file dev/cons.c
|
file dev/cons.c
|
||||||
file dev/cninit.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/locore.c
|
||||||
file arch/vax/vax/mem.c
|
file arch/vax/vax/mem.c
|
||||||
file arch/vax/vax/clock.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/pmap.c
|
||||||
file arch/vax/vax/machdep.c
|
file arch/vax/vax/machdep.c
|
||||||
file arch/vax/vax/ka750.c vax750
|
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/ka46.c vax46
|
||||||
file arch/vax/vax/ka48.c vax48
|
file arch/vax/vax/ka48.c vax48
|
||||||
file arch/vax/vax/emulate.s vax630|vax650|vax410
|
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/scb.c
|
||||||
file arch/vax/vax/conf.c
|
file arch/vax/vax/conf.c
|
||||||
file arch/vax/vax/urem.s
|
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.
|
* Copyright (c) 1995 Ludd, University of Lule}, Sweden.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -153,7 +153,7 @@ delay(i)
|
||||||
asm ("1: sobgtr %0, 1b" : : "r" (dep_call->cpu_vups * 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
|
* On most VAXen there are a microsecond clock that should
|
||||||
* be used for interval interrupts. Have a generic version here.
|
* 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.
|
* Copyright (c) 1982, 1986 The Regents of the University of California.
|
||||||
|
@ -177,7 +177,7 @@ struct consdev constab[]={
|
||||||
#else
|
#else
|
||||||
#define NGEN 0
|
#define NGEN 0
|
||||||
#endif
|
#endif
|
||||||
#if VAX410 || VAX43 || VAX48
|
#if VAX410 || VAX43 || VAX46 || VAX48 || VAX49
|
||||||
cons_init(dz), /* DZ11-like serial console on VAXstations */
|
cons_init(dz), /* DZ11-like serial console on VAXstations */
|
||||||
#endif
|
#endif
|
||||||
#if VAX650 || VAX630
|
#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.
|
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -139,12 +139,13 @@ start()
|
||||||
vax_boardtype = (vax_cputype<<24) | ((vax_siedata>>24)&0xFF);
|
vax_boardtype = (vax_cputype<<24) | ((vax_siedata>>24)&0xFF);
|
||||||
|
|
||||||
switch (vax_boardtype) {
|
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_420: /* They are very similar */
|
||||||
case VAX_BTYP_410:
|
case VAX_BTYP_410:
|
||||||
case VAX_BTYP_43:
|
case VAX_BTYP_43:
|
||||||
case VAX_BTYP_46:
|
case VAX_BTYP_46:
|
||||||
case VAX_BTYP_48:
|
case VAX_BTYP_48:
|
||||||
|
case VAX_BTYP_49:
|
||||||
vax_confdata = *(int *)(0x20020000);
|
vax_confdata = *(int *)(0x20020000);
|
||||||
vax_bustype = VAX_VSBUS | VAX_CPUBUS;
|
vax_bustype = VAX_VSBUS | VAX_CPUBUS;
|
||||||
#if VAX410
|
#if VAX410
|
||||||
|
@ -164,8 +165,17 @@ start()
|
||||||
if (vax_boardtype == VAX_BTYP_48)
|
if (vax_boardtype == VAX_BTYP_48)
|
||||||
dep_call = &ka48_calls;
|
dep_call = &ka48_calls;
|
||||||
#endif
|
#endif
|
||||||
strcpy(cpu_model, (vax_confdata & 0x80 ?
|
#if VAX49
|
||||||
"MicroVAX " : "VAXstation "));
|
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) {
|
switch (vax_boardtype) {
|
||||||
#if VAX410
|
#if VAX410
|
||||||
case VAX_BTYP_410:
|
case VAX_BTYP_410:
|
||||||
|
@ -184,7 +194,12 @@ start()
|
||||||
#endif
|
#endif
|
||||||
#if VAX48
|
#if VAX48
|
||||||
case VAX_BTYP_48:
|
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;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
@ -242,6 +257,13 @@ start()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
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
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
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.
|
* Copyright (c) 1998 Ludd, University of Lule}, Sweden.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -178,28 +178,38 @@ dzcnprobe(cndev)
|
||||||
struct consdev *cndev;
|
struct consdev *cndev;
|
||||||
{
|
{
|
||||||
extern vaddr_t iospace;
|
extern vaddr_t iospace;
|
||||||
|
int pri = CN_NORMAL, min = 0;
|
||||||
|
|
||||||
switch (vax_boardtype) {
|
switch (vax_boardtype) {
|
||||||
case VAX_BTYP_410:
|
case VAX_BTYP_410:
|
||||||
case VAX_BTYP_420:
|
case VAX_BTYP_420:
|
||||||
case VAX_BTYP_43:
|
case VAX_BTYP_43:
|
||||||
case VAX_BTYP_46:
|
|
||||||
case VAX_BTYP_48:
|
|
||||||
if (vax_confdata & 0x20) {
|
if (vax_confdata & 0x20) {
|
||||||
cndev->cn_dev = makedev(DZMAJOR, 3);
|
min = 3;
|
||||||
cndev->cn_pri = CN_REMOTE;
|
pri = CN_REMOTE;
|
||||||
} else {
|
|
||||||
cndev->cn_dev = makedev(DZMAJOR, 0);
|
|
||||||
cndev->cn_pri = CN_NORMAL;
|
|
||||||
}
|
}
|
||||||
dz_regs = iospace;
|
break;
|
||||||
ioaccess(iospace, 0x200A0000, 1);
|
|
||||||
|
case VAX_BTYP_46:
|
||||||
|
/* if (vax_confdata & 0x100) */
|
||||||
|
min = 3;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VAX_BTYP_49:
|
||||||
|
case VAX_BTYP_48:
|
||||||
|
min = 3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
cndev->cn_pri = CN_DEAD;
|
pri = CN_DEAD;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
cndev->cn_pri = pri;
|
||||||
|
if (pri != CN_DEAD) {
|
||||||
|
cndev->cn_dev = makedev(DZMAJOR, min);
|
||||||
|
dz_regs = iospace;
|
||||||
|
ioaccess(iospace, 0x200A0000, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
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.
|
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||||
|
@ -126,7 +126,11 @@ si_match(parent, cf, aux)
|
||||||
struct vsbus_attach_args *va = aux;
|
struct vsbus_attach_args *va = aux;
|
||||||
volatile char *si_csr = (char *) va->va_addr;
|
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);
|
DELAY(100000);
|
||||||
va->va_ivec = si_intr;
|
va->va_ivec = si_intr;
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue