Annotation of 43BSDReno/sys/vax/scb.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 1986 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)scb.h       7.2 (Berkeley) 5/7/88
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  * VAX System control block layout
        !            11:  */
        !            12: 
        !            13: struct scb {
        !            14:        int     (*scb_passiverel)();    /* BI passive release */
        !            15:        int     (*scb_machchk)();       /* machine chack */
        !            16:        int     (*scb_kspinval)();      /* KSP invalid */
        !            17:        int     (*scb_powfail)();       /* power fail */
        !            18:        int     (*scb_resinstr)();      /* reserved instruction */
        !            19:        int     (*scb_custinst)();      /* XFC instr */
        !            20:        int     (*scb_resopnd)();       /* reserved operand */
        !            21:        int     (*scb_resaddr)();       /* reserved addr mode */
        !            22:        int     (*scb_acv)();           /* access control violation */
        !            23:        int     (*scb_tnv)();           /* translation not valid */
        !            24:        int     (*scb_tracep)();        /* trace pending */
        !            25:        int     (*scb_bpt)();           /* breakpoint instr */
        !            26:        int     (*scb_compat)();        /* compatibility mode fault */
        !            27:        int     (*scb_arith)();         /* arithmetic fault */
        !            28:        int     (*scb_stray2)();
        !            29:        int     (*scb_stray3)();
        !            30:        int     (*scb_chmk)();          /* CHMK instr */
        !            31:        int     (*scb_chme)();          /* CHME instr */
        !            32:        int     (*scb_chms)();          /* CHMS instr */
        !            33:        int     (*scb_chmu)();          /* CHMU instr */
        !            34:        int     (*scb_sbisilo)();       /* SBI silo compare */
        !            35: #define        scb_bierr scb_sbisilo           /*=BI error (8200) */
        !            36:        int     (*scb_cmrd)();          /* corrected mem read data */
        !            37:        int     (*scb_sbialert)();      /* SBI alert */
        !            38:        int     (*scb_sbifault)();      /* SBI fault */
        !            39:        int     (*scb_wtime)();         /* memory write timeout */
        !            40: #define scb_sbierr scb_wtime           /*=SBI error (8600) */
        !            41:        int     (*scb_sbifail)();       /* SBI fail (8600) */
        !            42:        int     (*scb_stray4[7])();
        !            43:        int     (*scb_soft[15])();      /* software interrupt */
        !            44:        int     (*scb_timer)();         /* interval timer interrupt */
        !            45:        int     (*scb_stray5)();
        !            46:        int     (*scb_cn1rint)();       /* console terminal 1 rcv (8200) */
        !            47:        int     (*scb_cn1xint)();       /* console terminal 1 xmt (8200) */
        !            48:        int     (*scb_cn2rint)();       /* console 2 rcv (8200) */
        !            49:        int     (*scb_cn2xint)();       /* console 2 xmt (8200) */
        !            50:        int     (*scb_cn3rint)();       /* console 3 rcv (8200) */
        !            51:        int     (*scb_cn3xint)();       /* console 3 xmt (8200) */
        !            52:        int     (*scb_stray6[4])();
        !            53:        int     (*scb_csdr)();          /* console storage receive */
        !            54:        int     (*scb_csdx)();          /* console storage transmit */
        !            55:        int     (*scb_ctr)();           /* console terminal receive */
        !            56:        int     (*scb_ctx)();           /* console terminal transmit */
        !            57:        int     (*scb_ipl14[16])();     /* device interrupts IPL 14 */
        !            58:        int     (*scb_ipl15[16])();     /*   "          "    IPL 15 */
        !            59:        int     (*scb_ipl16[16])();     /*   "          "    IPL 16 */
        !            60:        int     (*scb_ipl17[16])();     /*   "          "    IPL 17 */
        !            61:        /*
        !            62:         * On the 8600, this is followed by a second copy of the SCB.
        !            63:         * On the 750, this is followed by 128 uba0 device interrupts,
        !            64:         * then 128 uba1 device interrupts.
        !            65:         */
        !            66: };
        !            67: 
        !            68: #ifdef KERNEL
        !            69: extern struct scb scb[];
        !            70: #endif
        !            71: 
        !            72: #define        scbentry(f, how)                ((int (*)())(((int)f)+how))
        !            73: 
        !            74: #define        SCB_KSTACK      0
        !            75: #define        SCB_ISTACK      1
        !            76: #define        SCB_WCS         2
        !            77: #define        SCB_HALT        3

unix.superglobalmegacorp.com

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