diff options
author | Hugh Graham <hugh@cvs.openbsd.org> | 2002-01-31 11:42:53 +0000 |
---|---|---|
committer | Hugh Graham <hugh@cvs.openbsd.org> | 2002-01-31 11:42:53 +0000 |
commit | 58d0c99542d3ee2992159c8501012a39fb2aae89 (patch) | |
tree | eb566c45c654bf5491e7ad89fc55bca2a8b2dac7 /sys/arch/vax | |
parent | dcaed1ff788646822c9766b540e7f0912e8ed9df (diff) |
Add support for VAX 4000 500A.
Thanks to kernel testing by Andrew Reynolds.
Diffstat (limited to 'sys/arch/vax')
-rw-r--r-- | sys/arch/vax/include/sid.h | 9 | ||||
-rw-r--r-- | sys/arch/vax/vax/findcpu.c | 3 | ||||
-rw-r--r-- | sys/arch/vax/vax/gencons.c | 5 | ||||
-rw-r--r-- | sys/arch/vax/vax/ka680.c | 57 | ||||
-rw-r--r-- | sys/arch/vax/vax/locore.c | 18 |
5 files changed, 67 insertions, 25 deletions
diff --git a/sys/arch/vax/include/sid.h b/sys/arch/vax/include/sid.h index a949bb00eb6..766bbd308af 100644 --- a/sys/arch/vax/include/sid.h +++ b/sys/arch/vax/include/sid.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sid.h,v 1.11 2001/10/01 12:53:37 hugh Exp $ */ +/* $OpenBSD: sid.h,v 1.12 2002/01/31 11:42:52 hugh Exp $ */ /* $NetBSD: sid.h,v 1.12 1999/12/11 17:55:13 ragge Exp $ */ /* @@ -163,9 +163,7 @@ #define VAX_BTYP_1301 0x13000001 /* VAX 4000 model [4-6]00 */ #define VAX_STYP_675 0x00000c /* VAX 4000 model 400 */ #define VAX_STYP_680 0x000006 /* VAX 4000 model 500 */ -#define VAX_STYP_681 0x00000e /* VAX 4000 model 500A */ #define VAX_STYP_690 0x000007 /* VAX 4000 model 600 */ -#define VAX_STYP_691 0x00000f /* VAX 4000 model 605A */ #define VAX_STYP_692 0x000010 /* VAX 4000 model 700? */ #define VAX_BTYP_1302 0x13000002 @@ -176,6 +174,11 @@ #define VAX_STYP_52 0x00000a /* VAX 4000 model 100 */ #define VAX_STYP_53 0x00000b /* VAX 4000 model 105A */ +#define VAX_BTYP_1305 0x13000005 /* Legacy machines */ +#define VAX_STYP_681 0x00000e /* VAX 4000 model 500A */ +#define VAX_STYP_691 0x00000f /* VAX 4000 model 605A */ +#define VAX_STYP_694 0x000010 /* VAX 4000 model 705A */ + #define VAX_BTYP_49 0x13000004 /* VaxStation 4000 model 90 */ /* diff --git a/sys/arch/vax/vax/findcpu.c b/sys/arch/vax/vax/findcpu.c index d212f0d743e..bdf979cdeef 100644 --- a/sys/arch/vax/vax/findcpu.c +++ b/sys/arch/vax/vax/findcpu.c @@ -1,4 +1,4 @@ -/* $OpenBSD: findcpu.c,v 1.7 2001/03/12 11:45:38 hugh Exp $ */ +/* $OpenBSD: findcpu.c,v 1.8 2002/01/31 11:42:51 hugh Exp $ */ /* $NetBSD: findcpu.c,v 1.5 1999/08/23 19:10:43 ragge Exp $ */ /* * Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden. @@ -109,6 +109,7 @@ findcpu() case VAX_BTYP_670: case VAX_BTYP_1301: case VAX_BTYP_1303: + case VAX_BTYP_1305: vax_bustype = VAX_IBUS; break; diff --git a/sys/arch/vax/vax/gencons.c b/sys/arch/vax/vax/gencons.c index 4962482355b..ec41eac6342 100644 --- a/sys/arch/vax/vax/gencons.c +++ b/sys/arch/vax/vax/gencons.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gencons.c,v 1.12 2001/08/25 13:33:37 hugh Exp $ */ +/* $OpenBSD: gencons.c,v 1.13 2002/01/31 11:42:51 hugh Exp $ */ /* $NetBSD: gencons.c,v 1.22 2000/01/24 02:40:33 matt Exp $ */ /* @@ -256,7 +256,8 @@ gencnprobe(struct consdev *cndev) (vax_boardtype == VAX_BTYP_660) || (vax_boardtype == VAX_BTYP_670) || (vax_boardtype == VAX_BTYP_1301) || - (vax_boardtype == VAX_BTYP_1303)) { + (vax_boardtype == VAX_BTYP_1303) || + (vax_boardtype == VAX_BTYP_1305)) { cndev->cn_dev = makedev(25, 0); cndev->cn_pri = CN_NORMAL; } else diff --git a/sys/arch/vax/vax/ka680.c b/sys/arch/vax/vax/ka680.c index 0cc8f9aa5c0..685d9a31285 100644 --- a/sys/arch/vax/vax/ka680.c +++ b/sys/arch/vax/vax/ka680.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ka680.c,v 1.6 2001/08/25 13:33:37 hugh Exp $ */ +/* $OpenBSD: ka680.c,v 1.7 2002/01/31 11:42:52 hugh Exp $ */ /* $NetBSD: ka680.c,v 1.3 2001/01/28 21:01:53 ragge Exp $ */ /* * Copyright (c) 2000 Ludd, University of Lule}, Sweden. @@ -112,24 +112,36 @@ ka680_conf() *hej = *hej; hej[-1] = hej[-1]; - switch((vax_siedata & 0xff00) >> 8) { - case VAX_STYP_675: - cpuname = "KA675"; - break; - case VAX_STYP_680: - cpuname = "KA680"; - break; - case VAX_STYP_681: - cpuname = "KA681"; - break; - case VAX_STYP_690: - cpuname = "KA690"; - break; - case VAX_STYP_691: - cpuname = "KA691"; + switch(vax_boardtype) { + case VAX_BTYP_1301: + switch((vax_siedata & 0xff00) >> 8) { + case VAX_STYP_675: + cpuname = "KA675"; + break; + case VAX_STYP_680: + cpuname = "KA680"; + break; + case VAX_STYP_690: + cpuname = "KA690"; + break; + default: + cpuname = "unknown NVAX 1301"; + } break; - default: - cpuname = "unknown NVAX"; + case VAX_BTYP_1305: + switch((vax_siedata & 0xff00) >> 8) { + case VAX_STYP_681: + cpuname = "KA681"; + break; + case VAX_STYP_691: + cpuname = "KA691"; + break; + case VAX_STYP_694: + cpuname = "KA694"; + break; + default: + cpuname = "unknown NVAX 1305"; + } } printf("cpu0: %s, ucode rev %d\n", cpuname, vax_cpudata & 0xff); } @@ -162,7 +174,16 @@ ka680_cache_enable() havevic = 1; break; case VAX_STYP_690: + fslut = 0x01440000; + cslut = 0x01040000; + havevic = 1; + break; case VAX_STYP_691: /* XXX untested */ + fslut = 0x01420000; + cslut = 0x01020000; + havevic = 1; + break; + case VAX_STYP_694: /* XXX untested */ fslut = 0x01440000; cslut = 0x01040000; havevic = 1; diff --git a/sys/arch/vax/vax/locore.c b/sys/arch/vax/vax/locore.c index ecb0510a5fb..0563866c957 100644 --- a/sys/arch/vax/vax/locore.c +++ b/sys/arch/vax/vax/locore.c @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.c,v 1.20 2001/11/06 19:53:17 miod Exp $ */ +/* $OpenBSD: locore.c,v 1.21 2002/01/31 11:42:52 hugh Exp $ */ /* $NetBSD: locore.c,v 1.43 2000/03/26 11:39:45 ragge Exp $ */ /* * Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden. @@ -259,6 +259,22 @@ start() strcpy(cpu_model,"VAX - Unknown Omega Class"); } break; + case VAX_BTYP_1305: + dep_call = &ka680_calls; + switch((vax_siedata & 0xff00) >> 8) { + case VAX_STYP_681: + strcpy(cpu_model,"VAX 4000 500A"); + break; + case VAX_STYP_691: + strcpy(cpu_model,"VAX 4000 605A"); + break; + case VAX_STYP_694: + strcpy(cpu_model,"VAX 4000 705A"); + break; + default: + strcpy(cpu_model,"VAX - Unknown Legacy Class"); + } + break; #endif #if VAX8200 case VAX_BTYP_8000: |