xref: /netbsd-src/sys/arch/vax/include/sid.h (revision 6a6027692662ba623e7bf5274322989a7b5d1440)
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