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