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