1*6a602769Sragge /* $NetBSD: sid.h,v 1.22 2017/05/22 17:12:11 ragge Exp $ */ 2d62187c0Scgd 38026fb53Sragge /* 48026fb53Sragge * Copyright (c) 1994 Ludd, University of Lule}, Sweden. 58026fb53Sragge * All rights reserved. 68026fb53Sragge * 78026fb53Sragge * Redistribution and use in source and binary forms, with or without 88026fb53Sragge * modification, are permitted provided that the following conditions 98026fb53Sragge * are met: 108026fb53Sragge * 1. Redistributions of source code must retain the above copyright 118026fb53Sragge * notice, this list of conditions and the following disclaimer. 128026fb53Sragge * 2. Redistributions in binary form must reproduce the above copyright 138026fb53Sragge * notice, this list of conditions and the following disclaimer in the 148026fb53Sragge * documentation and/or other materials provided with the distribution. 158026fb53Sragge * 168026fb53Sragge * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 178026fb53Sragge * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 188026fb53Sragge * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 198026fb53Sragge * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 208026fb53Sragge * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 218026fb53Sragge * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 228026fb53Sragge * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 238026fb53Sragge * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 248026fb53Sragge * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 258026fb53Sragge * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 268026fb53Sragge */ 278026fb53Sragge 281e9d064aSragge /* 29caff7b03Sragge * Board-Type (?_BTYP_?) and Sub-Type (?_STYP_?) are synonima. 302c1941b3Sragge * Michael Kukat changed this 01/27/2001, STYP is really a subtype now. 31caff7b03Sragge * other synonima are: 321e9d064aSragge */ 33caff7b03Sragge #define cpudata vax_cpudata 34caff7b03Sragge #define cputype vax_cputype 35caff7b03Sragge #define cpusubtype vax_boardtype 361e9d064aSragge 37caff7b03Sragge /* 38caff7b03Sragge * Chip CPU types / chip CPU Subtypes 39caff7b03Sragge * 40caff7b03Sragge * The type of a VAX is given by the high-order byte of the System 41caff7b03Sragge * identification register (SID) and describes families or series of VAXen. 42caff7b03Sragge * Board-Types/Sub-Types within series are described by the SIED register. 43caff7b03Sragge */ 44caff7b03Sragge 45caff7b03Sragge /* 46caff7b03Sragge * 700 series (1977) 47caff7b03Sragge */ 48caff7b03Sragge #define VAX_TYP_780 1 /* VAX-11/780, 785, 782 */ 49caff7b03Sragge #define VAX_TYP_750 2 /* VAX-11/750 */ 50caff7b03Sragge #define VAX_TYP_730 3 /* VAX-11/730, 725 */ 51caff7b03Sragge #define VAX_TYP_790 4 /* VAX 8600, 8650 */ 52caff7b03Sragge 53caff7b03Sragge #define VAX_BTYP_780 0x01000000 /* generic 11/780 */ 54caff7b03Sragge #define VAX_BTYP_750 0x02000000 /* generic 11/750 */ 55caff7b03Sragge #define VAX_BTYP_730 0x03000000 /* generic 11/730 */ 56caff7b03Sragge #define VAX_BTYP_790 0x04000000 /* generic 11/790 */ 57caff7b03Sragge 58caff7b03Sragge /* 59caff7b03Sragge * 8000 series (1986) 60caff7b03Sragge */ 61caff7b03Sragge #define VAX_TYP_8SS 5 /* VAX 8200, 8300, 8250, 8350, VS 8000 */ 62caff7b03Sragge #define VAX_TYP_8NN 6 /* VAX 8530, 8550, 8700, 8800 */ 63caff7b03Sragge 64caff7b03Sragge #define VAX_BTYP_8000 0x05000000 /* generic VAX 8000 */ 65caff7b03Sragge 66caff7b03Sragge #define VAX_BTYP_8800 0x06000000 /* generic Nautilus */ 67caff7b03Sragge #define VAX_BTYP_8700 0x06000001 68caff7b03Sragge #define VAX_BTYP_8550 0x06000006 69caff7b03Sragge #define VAX_BTYP_8500 0x06000007 70caff7b03Sragge 71caff7b03Sragge /* 72caff7b03Sragge * MicroVAX I (1984) 73caff7b03Sragge */ 74caff7b03Sragge #define VAX_TYP_UV1 7 /* MicroVAX I, VAXstation I */ 75caff7b03Sragge /* VAX_TYP_610 7 */ 76caff7b03Sragge 771e7b5cf8Sragge #define VAX_BTYP_610 0x07000000 /* generic MicroVAX-I */ 78caff7b03Sragge 79caff7b03Sragge /* 80caff7b03Sragge * MicroVAX II series (1985) 81caff7b03Sragge */ 82caff7b03Sragge #define VAX_TYP_UV2 8 83caff7b03Sragge /* VAX_TYP_78032 8 */ 84caff7b03Sragge 85caff7b03Sragge #define VAX_BTYP_630 0x08000001 /* MicroVAX II, VAXstation II */ 86caff7b03Sragge #define VAX_BTYP_410 0x08000004 /* MicroVAX 2000, VAXstation 2000 */ 87caff7b03Sragge 88caff7b03Sragge /* 89caff7b03Sragge * CVAX chip series (1987) 90caff7b03Sragge */ 91caff7b03Sragge #define VAX_TYP_CVAX 10 92caff7b03Sragge /* VAX_TYP_650 10 */ 93caff7b03Sragge 94caff7b03Sragge 95caff7b03Sragge #define VAX_BTYP_650 0x0A000001 /* MicroVAX 3500, 3600 */ 962bb5ceb3Sragge /* VAX_BTYP_65D 0x0A000001 VAXstation 3200, 3500 XXX */ 972bb5ceb3Sragge /* VAX_BTYP_640 0x0A000001 MicroVAX 3300, 3400 XXX */ 982bb5ceb3Sragge /* VAX_BTYP_655 0x0A000001 MicroVAX 3800, 3900 XXX */ 99caff7b03Sragge #define VAX_BTYP_9CC 0x0A000002 /* VAX 6000 model 210/310 */ 100caff7b03Sragge #define VAX_BTYP_60 0x0A000003 /* VAXstation 3520, 3540 */ 101caff7b03Sragge #define VAX_BTYP_420 0x0A000004 /* VAXstation 3100 models 10 - 48 */ 1029beccd4eSragge #define VAX_BTYP_IS1 0x0A000006 /* Infoserver 1000 */ 103caff7b03Sragge #define VAX_BTYP_510 0x0A000007 /* VAXft model 110 */ 1041c367d47Sragge /* VAX_BTYP_520 0x0A000007 VAXft model 310 */ 105caff7b03Sragge 106caff7b03Sragge /* 1072bb5ceb3Sragge * SID Extension register definitions for CVAX series 1082bb5ceb3Sragge */ 1092bb5ceb3Sragge #define VAX_SIE_KA640 0x2 /* KA640 MicroVAX 3300, 3400 */ 1102bb5ceb3Sragge #define VAX_SIE_KA650 0x1 /* KA650 MicroVAX 3500, 3600 */ 1112bb5ceb3Sragge #define VAX_SIE_KA655 0x3 /* KA655 MicroVAX 3800, 3900 */ 1122bb5ceb3Sragge 1132bb5ceb3Sragge /* 114caff7b03Sragge * Rigel chip series (1990) 115caff7b03Sragge */ 116caff7b03Sragge #define VAX_TYP_RIGEL 11 117caff7b03Sragge /* VAX_TYP_9RR 11 */ 118caff7b03Sragge 119caff7b03Sragge #define VAX_BTYP_670 0x0B000001 /* VAX 4000 model 300 */ 120caff7b03Sragge #define VAX_BTYP_9RR 0x0B000002 /* VAX 6000 model 410-460 */ 121caff7b03Sragge #define VAX_BTYP_43 0x0B000004 /* VAXstation 3100 model 76 */ 122caff7b03Sragge 123caff7b03Sragge /* 124caff7b03Sragge * Aquarius series (1990) 125caff7b03Sragge */ 126caff7b03Sragge #define VAX_TYP_9000 14 127caff7b03Sragge 128caff7b03Sragge #define VAX_BTYP_9AR 0x0E00000? /* VAX 9000 models 210, 410-440 */ 129caff7b03Sragge #define VAX_BTYP_9AQ 0x0E00000? /* VAX 9000 models 400-800 */ 130caff7b03Sragge 131caff7b03Sragge /* 132caff7b03Sragge * Polarstar series (1988) 133caff7b03Sragge */ 134caff7b03Sragge #define VAX_TYP_8PS 17 135caff7b03Sragge 136caff7b03Sragge #define VAX_BTYP_8PS 0x11000000 /* VAX 8810 to 8840 */ 137caff7b03Sragge 138caff7b03Sragge /* 139caff7b03Sragge * Mariah chip series (1991) 140caff7b03Sragge */ 141caff7b03Sragge #define VAX_TYP_MARIAH 18 142caff7b03Sragge #define VAX_TYP_V12 18 143caff7b03Sragge 144caff7b03Sragge #define VAX_BTYP_1202 0x12000002 /* VAX 6000 model 510-560 */ 145caff7b03Sragge #define VAX_BTYP_46 0x12000004 /* VAXstation 4000/60, 3100/80 */ 146caff7b03Sragge 147caff7b03Sragge /* 148caff7b03Sragge * NVAX chip series (1991) 149caff7b03Sragge */ 150caff7b03Sragge #define VAX_TYP_NVAX 19 151caff7b03Sragge #define VAX_TYP_V13 19 152caff7b03Sragge 153e4d9af4bSragge #define VAX_BTYP_680 0x13000001 /* VAX 4000 model [45]00 */ 154e4d9af4bSragge #define VAX_STYP_675 0x0c /* VAX 4000 model 400 */ 155e4d9af4bSragge #define VAX_STYP_680 0x06 /* VAX 4000 model 500 */ 1564a933b0aSragge #define VAX_STYP_690 0x07 /* VAX 4000 model 600 */ 157caff7b03Sragge #define VAX_BTYP_1302 0x13000002 1588199c6a4Sragge #define VAX_BTYP_53 0x13000003 /* VAX 4000 model 105x, MV 3100/9x */ 1592c1941b3Sragge #define VAX_STYP_51 0x09 /* MicroVAX 3100 model 90 / 95 */ 1602c1941b3Sragge #define VAX_STYP_52 0x0a /* VAX 4000 model 100 */ 1618199c6a4Sragge #define VAX_STYP_53 0x0b /* VAX 4000 model 10[568] */ 1624a933b0aSragge #define VAX_STYP_55 0x08 /* MicroVAX 3100 model 85 */ 1638199c6a4Sragge #define VAX_BTYP_49 0x13000004 /* VAXstation 4000 model 90 */ 164b07617deSragge #define VAX_BTYP_681 0x13000005 /* VAX 4000 model 500A/705A */ 165b07617deSragge #define VAX_STYP_681 0x0e /* VAX 4000 model 500A */ 166b07617deSragge #define VAX_STYP_691 0x0f /* VAX 4000 model 605A */ 167b07617deSragge #define VAX_STYP_694 0x10 /* VAX 4000 model 705A */ 168caff7b03Sragge 169caff7b03Sragge /* 170caff7b03Sragge * SOC chip series (1991) 171caff7b03Sragge */ 172caff7b03Sragge #define VAX_TYP_SOC 20 173caff7b03Sragge #define VAX_TYP_V14 20 174caff7b03Sragge 175caff7b03Sragge #define VAX_BTYP_660 0x14000001 /* VAX 4000 model 200 */ 176fb6b53bfSragge #define VAX_BTYP_48 0x14000004 /* VAXstation 4000 VLC */ 177caff7b03Sragge #define VAX_BTYP_550 0x14000007 /* VAXft model 410, 610 */ 1780028464aSragge #define VAX_BTYP_VXT 0x14000008 /* VXT 2000 */ 179caff7b03Sragge 180caff7b03Sragge /* 181caff7b03Sragge * NVAX+ chip series (1991) 182caff7b03Sragge */ 183caff7b03Sragge #define VAX_TYP_NVPLUS 23 184caff7b03Sragge #define VAX_TYP_V17 23 185caff7b03Sragge 186caff7b03Sragge #define VAX_BTYP_1701 0x17000001 187caff7b03Sragge 188caff7b03Sragge /* 189caff7b03Sragge * Highest Number supported by NetBSD/VAX 190caff7b03Sragge */ 1915ece00b8Smatt #define VAX_TYP_MAX VAX_TYP_NVAX 192caff7b03Sragge 193caff7b03Sragge /* 194caff7b03Sragge * compatibility with old names: 195caff7b03Sragge */ 196caff7b03Sragge 197caff7b03Sragge #define VAX_780 VAX_TYP_780 198caff7b03Sragge #define VAX_750 VAX_TYP_750 199caff7b03Sragge #define VAX_730 VAX_TYP_730 200caff7b03Sragge #define VAX_8600 VAX_TYP_790 201caff7b03Sragge #define VAX_8200 VAX_TYP_8SS 202caff7b03Sragge #define VAX_8800 VAX_TYP_8NN 203caff7b03Sragge #define VAX_610 VAX_TYP_UV1 204caff7b03Sragge #define VAX_78032 VAX_TYP_UV2 205caff7b03Sragge #define VAX_650 VAX_TYP_CVAX 206caff7b03Sragge 207caff7b03Sragge /* 208caff7b03Sragge * Some common-used external variables. 209caff7b03Sragge */ 210caff7b03Sragge extern int vax_cputype; /* general, highest byte of the SID-register */ 211caff7b03Sragge extern int vax_cpudata; /* general, the contents of the SID-register */ 212caff7b03Sragge extern int vax_siedata; /* contents of the SIE register */ 213caff7b03Sragge extern int vax_bustype; /* HW-dep., setup at consinit() in ka???.c */ 214caff7b03Sragge extern int vax_boardtype; /* HW-dep., msb of SID | SIE (SID-extension) */ 215caff7b03Sragge extern int vax_confdata; /* HW-dep., hardware dependent config-data */ 216caff7b03Sragge 217