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