Annotation of 43BSD/sys/vaxuba/vsreg.h, revision 1.1

1.1     ! root        1: /* @(#)vsreg.h 7.1 (MIT) 6/5/86 */
        !             2:  /****************************************************************************
        !             3:  *                                                                         *
        !             4:  *  Copyright (c) 1983, 1984 by                                                    *
        !             5:  *  DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts.                 *
        !             6:  *  All rights reserved.                                                   *
        !             7:  *                                                                         *
        !             8:  *  This software is furnished on an as-is basis and may be used and copied *
        !             9:  *  only with inclusion of the above copyright notice. This software or any *
        !            10:  *  other copies thereof may be provided or otherwise made available to     *
        !            11:  *  others only for non-commercial purposes.  No title to or ownership of   *
        !            12:  *  the software is hereby transferred.                                            *
        !            13:  *                                                                         *
        !            14:  *  The information in this software is  subject to change without notice   *
        !            15:  *  and  should  not  be  construed as  a commitment by DIGITAL EQUIPMENT   *
        !            16:  *  CORPORATION.                                                           *
        !            17:  *                                                                         *
        !            18:  *  DIGITAL assumes no responsibility for the use  or  reliability of its   *
        !            19:  *  software on equipment which is not supplied by DIGITAL.                *
        !            20:  *                                                                         *
        !            21:  *                                                                         *
        !            22:  ****************************************************************************/
        !            23: 
        !            24: /* 
        !            25:  * vsreg.h - VS100 Registers and Bits
        !            26:  * 
        !            27:  * Author:     Christopher A. Kent
        !            28:  *             Digital Equipment Corporation
        !            29:  *             Western Research Lab
        !            30:  * Date:       Tue Jun 14 1983
        !            31:  */
        !            32: 
        !            33: struct vsdevice{
        !            34:        u_short vs_csr0;                /* Control and Status */
        !            35:        u_short vs_csr1;                /* Interrupt Reason */
        !            36:        u_short vs_csr2;                /* Keyboard Receive */
        !            37:        u_short vs_csr3;                /* Function Parameter Low */
        !            38:        u_short vs_csr4;                /* Function Parameter High */
        !            39:        u_short vs_csr5;                /* Cursor Position X */
        !            40:        u_short vs_csr6;                /* Cursor Position Y */
        !            41:        u_short vs_csr7;                /* Interrupt Vector */
        !            42:        u_short vs_csr8;                /* Spare 1 */
        !            43:        u_short vs_csr9;                /* Spare 2 */
        !            44:        u_short vs_csra;                /* Spare 3 */
        !            45:        u_short vs_csrb;                /* Spare 4 */
        !            46:        u_short vs_csrc;                /* Spare 5 */
        !            47:        u_short vs_csrd;                /* Spare 6 */
        !            48:        u_short vs_csre;                /* Spare 7 */
        !            49:        u_short vs_csrf;                /* Interrupt Vector (2Bs) */
        !            50: };
        !            51: 
        !            52: /* 
        !            53:  * CSR0 - Control and Status
        !            54:  */
        !            55: 
        !            56: #define        VS_LNK_TRNS     0100000         /* Link Transition */
        !            57: #define        VS_LNK_AVL      0040000         /* Link Available */
        !            58: #define        VS_LNK_ERR      0020000         /* Link Error */
        !            59: #define        VS_XMIT_ON      0010000         /* Transmitter On */
        !            60: #define        VS_MNT_MODE     0004000         /* Maintenance Mode */
        !            61: #define        VS_CRC_DIS      0002000         /* CRC Disable */
        !            62: #define        VS_MNT_DONE     0001000         /* Maintenance Done */
        !            63: #define        VS_SPARE        0000400         /* Spare */
        !            64: #define        VS_OWN          0000200         /* Owner */
        !            65: #define        VS_IE           0000100         /* Interrupt Enable */
        !            66: #define        VS_FCN          0000076         /* Function Code */
        !            67: #define        VS_GO           0000001         /* GO! */
        !            68: 
        !            69: struct vs_csr{
        !            70:     union{
        !            71:        u_short _register;
        !            72:        struct{
        !            73:            unsigned _go : 1;
        !            74:            unsigned _function : 5;
        !            75:            unsigned _ie : 1;
        !            76:            unsigned _own : 1;
        !            77:            unsigned _spare : 1;
        !            78:            unsigned _mainDone : 1;
        !            79:            unsigned _CRCdisable : 1;
        !            80:            unsigned _mainMode : 1;
        !            81:            unsigned _xmitOn : 1;
        !            82:            unsigned _linkErr : 1;
        !            83:            unsigned _linkAvail : 1;
        !            84:            unsigned _linkTran : 1;
        !            85:        }_bits;
        !            86:     }_X;
        !            87: };
        !            88: 
        !            89: #define        csr_reg         _X._register
        !            90: #define csr_go         _X._bits._go
        !            91: #define csr_ie         _X._bits._ie
        !            92: #define        csr_own         _X._bits._own
        !            93: #define        csr_mainDone    _X._bits._mainDone
        !            94: #define        csr_CRCdisable  _X._bits._CRCdisable
        !            95: #define csr_mainMode   _X._bits._mainMode
        !            96: #define        csr_xmitOn      _X._bits._xmitOn
        !            97: #define        csr_linkErr     _X._bits._linkErr
        !            98: #define        csr_linkAvail   _X._bits._linkAvail
        !            99: #define        csr_linkTran    _X._bits._linkTran
        !           100: 
        !           101: /* Function Codes */
        !           102: 
        !           103: #define        VS_INIT         01              /* Initialize Display */
        !           104: #define        VS_SEND         02              /* Send Packet */
        !           105: #define        VS_START        03              /* Start Microcode */
        !           106: #define        VS_ABORT        04              /* Abort Command Chain */
        !           107: #define        VS_PWRUP        05              /* Power Up Reset */
        !           108: /**/
        !           109: #define        VS_ENABBA       020             /* Enable BBA */
        !           110: #define        VS_DISBBA       021             /* Disable BBA */
        !           111: #define        VS_INFINITE     022             /* Inifinite Retries */
        !           112: #define        VS_FINITE       023             /* Finite Retries */
        !           113: 
        !           114: /* amount to shift to get function code into right place */
        !           115: 
        !           116: #define        VS_FCSHIFT      01
        !           117: 
        !           118: /* 
        !           119:  * CSR1 - Interrupt Reason
        !           120:  */
        !           121: 
        !           122: #define        vs_irr          vs_csr1
        !           123: 
        !           124: #define        VS_ERROR        0100000         /* Any error */
        !           125: #define        VS_REASON       0077777         /* Reason Mask */
        !           126: #define        VSIRR_BITS \
        !           127: "\20\20ERROR\10PWRUP\6TABLET\5MOUSE\4BUTTON\3START\2DONE\1INIT"
        !           128: 
        !           129: #define        VS_INT_US       0
        !           130: #define        VS_INT_ID       01
        !           131: #define        VS_INT_CD       02
        !           132: #define        VS_INT_SE       04
        !           133: #define        VS_INT_BE       010
        !           134: #define        VS_INT_MM       020
        !           135: #define        VS_INT_TM       040
        !           136: #define        VS_INT_PWR      0200
        !           137: 
        !           138: struct vs_intr{
        !           139:     union{
        !           140:        u_short  _register;             /* whole register */
        !           141:        struct{
        !           142:            unsigned _reason : 14;      /* Reason bits */
        !           143:            unsigned _diagnostic : 1;   /* Diagnostic Error bit */
        !           144:            unsigned _error : 1;        /* Error bit */
        !           145:        }_bits;
        !           146:     }_X;
        !           147: };
        !           148: 
        !           149: #define        intr_reg        _X._register
        !           150: #define        intr_reason     _X._bits._reason
        !           151: #define        intr_diagnostic _X._bits._diagnostic    /* not in rev 2b */
        !           152: #define        intr_error      _X._bits._error
        !           153: 
        !           154: /* 
        !           155:  * CSR2 - Keyboard Receive
        !           156:  */
        !           157: 
        !           158: #define        vs_krr          vs_csr2
        !           159: 
        !           160: #define        VS_KBDEV        0007000         /* Device mask */
        !           161: #define        VS_KBT          0000400         /* Transition direction */
        !           162: #define        VS_KBKEY        0000377         /* Key mask */
        !           163: 
        !           164: struct vs_kbd{
        !           165:     union{
        !           166:        u_short  _register;             /* whole register */
        !           167:        struct{
        !           168:            unsigned _key : 8;          /* Key number */
        !           169:            unsigned _transition : 1;   /* Transition direction */
        !           170:            unsigned _device : 3;       /* Device */
        !           171:            unsigned _x : 4;            /* Unused */
        !           172:        }_bits;
        !           173:     }_X;
        !           174: };
        !           175: 
        !           176: #define        kbd_reg         _X._register
        !           177: #define        kbd_key         _X._bits._key
        !           178: #define        kbd_transition  _X._bits._transition
        !           179: #define        kbd_device      _X._bits._device
        !           180: 
        !           181: #define        VS_KBTUP        0               /* up */
        !           182: #define        VS_KBTDOWN      1               /* down */
        !           183: 
        !           184: /* 
        !           185:  * CSR3/4 Function Parameter Address
        !           186:  */
        !           187: 
        !           188: #define        vs_pr1          vs_csr3
        !           189: #define        vs_pr2          vs_csr4
        !           190: 
        !           191: struct vs_fparm{
        !           192:     union{
        !           193:        struct{
        !           194:            u_short _plow;      /* low 16 bits of address */
        !           195:            u_short _phigh;     /* high 16 bits of address */
        !           196:        }_parts;
        !           197:        caddr_t _pall;
        !           198:     }_X;
        !           199: };
        !           200: #define        fparm_low       _X._parts._plow
        !           201: #define        fparm_high      _X._parts._phigh
        !           202: #define        fparm_all       _X._pall
        !           203: 
        !           204: /* 
        !           205:  * CSR5/6 - Cursor position
        !           206:  */
        !           207: 
        !           208: #define        vs_cxr          vs_csr5
        !           209: #define        vs_cyr          vs_csr6
        !           210: 
        !           211: 
        !           212: /* 
        !           213:  * CSR 7 - Interrupt vector in fiber cable machines
        !           214:  */
        !           215: 
        !           216: #define        vs_ivr          vs_csr7
        !           217: 
        !           218: /* 
        !           219:  * CSR 8 through 14 Spare
        !           220:  */
        !           221: 
        !           222: #define        vs_spr2         vs_csr8
        !           223: #define        vs_spr3         vs_csr9
        !           224: #define        vs_spr4         vs_csra
        !           225: #define        vs_spr5         vs_csrb
        !           226: #define        vs_spr6         vs_csrc
        !           227: #define        vs_spr7         vs_csrd
        !           228: #define        vs_spr8         vs_csre
        !           229: 
        !           230: /* 
        !           231:  * CSR 15 - Interrupt vector in rev 2B
        !           232:  */
        !           233: 
        !           234: #define        vs_ivr2         vs_csrf

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.