xref: /netbsd-src/sys/arch/vax/include/sid.h (revision 76dfffe33547c37f8bdd446e3e4ab0f3c16cea4b)
1 /*	$NetBSD: sid.h,v 1.8 1996/08/20 14:19:41 ragge Exp $	*/
2 
3 /*
4  * Copyright (c) 1994 Ludd, University of Lule}, Sweden.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *     This product includes software developed at Ludd, University of Lule}.
18  * 4. The name of the author may not be used to endorse or promote products
19  *    derived from this software without specific prior written permission
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 /*
34  * Board-Type (?_BTYP_?) and Sub-Type (?_STYP_?) are synonima.
35  * other synonima are:
36  */
37 #define cpudata	    vax_cpudata
38 #define cputype	    vax_cputype
39 #define cpusubtype  vax_boardtype
40 
41 /*
42  * Chip CPU types / chip CPU Subtypes
43  *
44  * The type of a VAX is given by the high-order byte of the System
45  * identification register (SID) and describes families or series of VAXen.
46  * Board-Types/Sub-Types within series are described by the SIED register.
47  */
48 
49 /*
50  * 700 series (1977)
51  */
52 #define VAX_TYP_780	1	/* VAX-11/780, 785, 782 */
53 #define VAX_TYP_750	2	/* VAX-11/750 */
54 #define VAX_TYP_730	3	/* VAX-11/730, 725 */
55 #define VAX_TYP_790	4	/* VAX 8600, 8650 */
56 
57 #define VAX_BTYP_780	0x01000000	/* generic 11/780 */
58 #define VAX_BTYP_750	0x02000000	/* generic 11/750 */
59 #define VAX_BTYP_730	0x03000000	/* generic 11/730 */
60 #define VAX_BTYP_790	0x04000000	/* generic 11/790 */
61 
62 /*
63  * 8000 series (1986)
64  */
65 #define VAX_TYP_8SS	5	/* VAX 8200, 8300, 8250, 8350, VS 8000 */
66 #define VAX_TYP_8NN	6	/* VAX 8530, 8550, 8700, 8800 */
67 
68 #define VAX_BTYP_8000	0x05000000	/* generic VAX 8000 */
69 
70 #define VAX_BTYP_8800	0x06000000	/* generic Nautilus */
71 #define VAX_BTYP_8700	0x06000001
72 #define VAX_BTYP_8550	0x06000006
73 #define VAX_BTYP_8500	0x06000007
74 
75 /*
76  * MicroVAX I (1984)
77  */
78 #define VAX_TYP_UV1	7	/* MicroVAX I, VAXstation I */
79      /* VAX_TYP_610	7 */
80 
81 #define VAX_BTYP_610	0x70000000	/* generic MicroVAX-I */
82 
83 /*
84  * MicroVAX II series (1985)
85  */
86 #define VAX_TYP_UV2	8
87      /* VAX_TYP_78032	8 */
88 
89 #define VAX_BTYP_630	0x08000001	/* MicroVAX II, VAXstation II */
90 #define VAX_BTYP_410	0x08000004	/* MicroVAX 2000, VAXstation 2000 */
91 
92 /*
93  * CVAX chip series (1987)
94  */
95 #define VAX_TYP_CVAX	10
96      /* VAX_TYP_650	10 */
97 
98 
99 #define VAX_BTYP_650	0x0A000001	/* MicroVAX 3500, 3600 */
100      /* VAX_BTYP_65D	0x0A000001	   VAXstation 3200, 3500 */
101      /* VAX_BTYP_640	0x0A000001	   MicroVAX 3300, 3400 */
102      /* VAX_BTYP_655	0x0A000001	   MicroVAX 3800, 3900 */
103 #define VAX_BTYP_9CC	0x0A000002	/* VAX 6000 model 210/310 */
104 #define VAX_BTYP_60	0x0A000003	/* VAXstation 3520, 3540 */
105 #define VAX_BTYP_420	0x0A000004	/* VAXstation 3100 models 10 - 48 */
106 #define VAX_BTYP_510	0x0A000007	/* VAXft model 110 */
107      /* VAX_BTYP_520	0x0A000007	   VAXft model 310 */
108 
109 /*
110  * Rigel chip series (1990)
111  */
112 #define VAX_TYP_RIGEL	11
113      /* VAX_TYP_9RR	11 */
114 
115 #define VAX_BTYP_670	0x0B000001	/* VAX 4000 model 300 */
116 #define VAX_BTYP_9RR	0x0B000002	/* VAX 6000 model 410-460 */
117 #define VAX_BTYP_43	0x0B000004	/* VAXstation 3100 model 76 */
118 
119 /*
120  * Aquarius series (1990)
121  */
122 #define VAX_TYP_9000	14
123 
124 #define VAX_BTYP_9AR	0x0E00000?	/* VAX 9000 models 210, 410-440 */
125 #define VAX_BTYP_9AQ	0x0E00000?	/* VAX 9000 models 400-800 */
126 
127 /*
128  * Polarstar series (1988)
129  */
130 #define VAX_TYP_8PS	17
131 
132 #define VAX_BTYP_8PS	0x11000000	/* VAX 8810 to 8840 */
133 
134 /*
135  * Mariah chip series (1991)
136  */
137 #define VAX_TYP_MARIAH	18
138 #define VAX_TYP_V12	18
139 
140 #define VAX_BTYP_690	0x12000001	/* VAX 4000 model 400 */
141 #define VAX_BTYP_1202	0x12000002	/* VAX 6000 model 510-560 */
142 #define VAX_BTYP_46	0x12000004	/* VAXstation 4000/60, 3100/80 */
143 
144 /*
145  * NVAX chip series (1991)
146  */
147 #define VAX_TYP_NVAX	19
148 #define VAX_TYP_V13	19
149 
150 #define VAX_BTYP_69D	0x13000001	/* VAX 4000 model 500 */
151 #define VAX_BTYP_1301	0x13000001	/* VAX 4000 model 100 */
152 #define VAX_BTYP_1302	0x13000002
153 #define VAX_BTYP_1303	0x13000003
154 #define VAX_BTYP_49	0x13000004	/* MicroVAX 3100 model 90 */
155 
156 /*
157  * SOC chip series (1991)
158  */
159 #define VAX_TYP_SOC	20
160 #define VAX_TYP_V14	20
161 
162 #define VAX_BTYP_660	0x14000001	/* VAX 4000 model 200 */
163 #define VAX_BTYP_440	0x14000004	/* VS 4000/30, 3100/30, 3100/40 */
164 #define VAX_BTYP_550	0x14000007	/* VAXft model 410, 610 */
165 
166 /*
167  * NVAX+ chip series (1991)
168  */
169 #define VAX_TYP_NVPLUS	23
170 #define VAX_TYP_V17	23
171 
172 #define VAX_BTYP_1701	0x17000001
173 
174 /*
175  * Highest Number supported by NetBSD/VAX
176  */
177 #define VAX_TYP_MAX	VAX_TYP_RIGEL
178 
179 /*
180  * compatibility with old names:
181  */
182 
183 #define VAX_780		VAX_TYP_780
184 #define VAX_750		VAX_TYP_750
185 #define VAX_730		VAX_TYP_730
186 #define VAX_8600	VAX_TYP_790
187 #define VAX_8200	VAX_TYP_8SS
188 #define VAX_8800	VAX_TYP_8NN
189 #define VAX_610		VAX_TYP_UV1
190 #define VAX_78032	VAX_TYP_UV2
191 #define VAX_650		VAX_TYP_CVAX
192 
193 /*
194  * Some common-used external variables.
195  */
196 extern	int vax_cputype;	/* general, highest byte of the SID-register */
197 extern	int vax_cpudata;	/* general, the contents of the SID-register */
198 extern	int vax_siedata;	/* contents of the SIE register */
199 extern	int vax_bustype;	/* HW-dep., setup at consinit() in ka???.c */
200 extern	int vax_boardtype;	/* HW-dep., msb of SID | SIE (SID-extension) */
201 extern	int vax_confdata;	/* HW-dep., hardware dependent config-data   */
202 
203