diff --git a/sys/arch/vax/conf/GENERIC b/sys/arch/vax/conf/GENERIC index 4e0f05f1f9b8..7bf1303738fc 100644 --- a/sys/arch/vax/conf/GENERIC +++ b/sys/arch/vax/conf/GENERIC @@ -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 diff --git a/sys/arch/vax/conf/files.vax b/sys/arch/vax/conf/files.vax index d3c24adf7b45..51b2876bcd5a 100644 --- a/sys/arch/vax/conf/files.vax +++ b/sys/arch/vax/conf/files.vax @@ -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 diff --git a/sys/arch/vax/vax/clock.c b/sys/arch/vax/vax/clock.c index 98e4f91806b1..ff26b4f4ec47 100644 --- a/sys/arch/vax/vax/clock.c +++ b/sys/arch/vax/vax/clock.c @@ -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. diff --git a/sys/arch/vax/vax/conf.c b/sys/arch/vax/vax/conf.c index 25d9e25541a7..8cf356f75c42 100644 --- a/sys/arch/vax/vax/conf.c +++ b/sys/arch/vax/vax/conf.c @@ -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 diff --git a/sys/arch/vax/vax/locore.c b/sys/arch/vax/vax/locore.c index 21ccaa3274f5..3c3bf7491e3c 100644 --- a/sys/arch/vax/vax/locore.c +++ b/sys/arch/vax/vax/locore.c @@ -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; diff --git a/sys/arch/vax/vsa/dz_vsbus.c b/sys/arch/vax/vsa/dz_vsbus.c index 46699f51fa91..1d55e13da333 100644 --- a/sys/arch/vax/vsa/dz_vsbus.c +++ b/sys/arch/vax/vsa/dz_vsbus.c @@ -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 diff --git a/sys/arch/vax/vsa/ncr.c b/sys/arch/vax/vsa/ncr.c index 192d91d1448f..eefd91afa71a 100644 --- a/sys/arch/vax/vsa/ncr.c +++ b/sys/arch/vax/vsa/ncr.c @@ -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;