Annotation of 40BSD/sys/conf/univec.c, revision 1.1

1.1     ! root        1: /*     univec.c        4.1     11/9/80 */
        !             2: 
        !             3: #include "../h/param.h"
        !             4: #include "../h/vm.h"
        !             5: 
        !             6: /* DEV puts controller no. in bits 27-31 of ISR addr */
        !             7: #define        DEV(x,n)        (int (*)())((int)(x) + 0x08000000 * n)
        !             8: 
        !             9: /* DMA sets low bit to activate pseudo-dma code */
        !            10: #define        DMA(x)          (int (*)())((int)(x) + 1)
        !            11: 
        !            12: /* dzxint is, in reality, a pseudo-dma entry */
        !            13: #define        dzxint          DMA(dzdma)
        !            14: 
        !            15: /*
        !            16:  * Definitions of functions to be placed in UNIvec.
        !            17:  */
        !            18: extern ubastray();
        !            19: #include "dz.h"
        !            20: #if NDZ11 > 0
        !            21: extern dzrint(), dzdma();
        !            22: #else
        !            23: #define        dzrint  ubastray
        !            24: #define        dzxint  ubastray
        !            25: #endif
        !            26: 
        !            27: #include "dh.h"
        !            28: #if NDH11 > 0
        !            29: extern dhrint(), dhxint();
        !            30: #else
        !            31: #define        dhrint  ubastray
        !            32: #define        dhxint  ubastray
        !            33: #endif
        !            34: 
        !            35: #include "up.h"
        !            36: #if NUP > 0
        !            37: extern upintr();
        !            38: #else
        !            39: #define        upintr  ubastray
        !            40: #endif
        !            41: 
        !            42: #include "vp.h"
        !            43: #if NVP > 0
        !            44: extern vpintr();
        !            45: #else
        !            46: #define        vpintr  ubastray
        !            47: #endif
        !            48: 
        !            49: #include "va.h"
        !            50: #if NVA > 0
        !            51: extern vaintr();
        !            52: #else
        !            53: #define        vaintr  ubastray
        !            54: #endif
        !            55: 
        !            56: #define        ___     ubastray                /* fill in the blank! */
        !            57:  
        !            58: int (*UNIvec[NBPG/NBPW])() = {
        !            59: 
        !            60:  /* 0x0 */     ___,            ___,            ___,            ___,
        !            61:  /* 0x10 */    ___,            ___,            ___,            ___,
        !            62:  /* 0x20 */    ___,            ___,            ___,            ___,
        !            63:  /* 0x30 */    ___,            ___,            ___,            ___,
        !            64:  /* 0x40 */    ___,            ___,            ___,            ___,
        !            65:  /* 0x50 */    ___,            ___,            ___,            ___,
        !            66:  /* 0x60 */    ___,            ___,            ___,            ___,
        !            67:  /* 0x70 */    ___,            ___,            vaintr,         vpintr,
        !            68:  /* 0x80 */    vpintr,         ___,            ___,            ___,
        !            69:  /* 0x90 */    ___,            ___,            ___,            ___,
        !            70:  /* 0xa0 */    ___,            ___,            ___,            upintr,
        !            71:  /* 0xb0 */    ___,            ___,            ___,            ___,
        !            72: #if NDZ11 > 0
        !            73:  /* 0xc0 */    DEV(dzrint,0),  DEV(dzxint,0),
        !            74: #else
        !            75:  /* 0xc0 */    ___,            ___,
        !            76: #endif
        !            77: #if NDZ11 > 1
        !            78:  /* 0xc8 */                                    DEV(dzrint,1),  DEV(dzxint,1),
        !            79: #else
        !            80:  /* 0xc8 */                                    ___,            ___,
        !            81: #endif
        !            82: #if NDZ11 > 2
        !            83:  /* 0xd0 */    DEV(dzrint,2),  DEV(dzxint,2),
        !            84: #else
        !            85:  /* 0xd0 */    ___,            ___,
        !            86: #endif
        !            87: #if NDZ11 > 3
        !            88:  /* 0xd8 */                                    DEV(dzrint,3),  DEV(dzxint,3),
        !            89: #else
        !            90:  /* 0xd8 */                                    ___,            ___,
        !            91: #endif
        !            92: #if NDH11 > 0
        !            93:  /* 0xe0 */    DEV(dhrint,0),  DEV(dhxint,0),
        !            94: #else
        !            95:  /* 0xe0 */    ___,            ___,
        !            96: #endif
        !            97: #if NDH11 > 16
        !            98:  /* 0xe0 */                                    DEV(dhrint,1),  DEV(dhxint,1),
        !            99: #else
        !           100:  /* 0xf0 */                                    ___,            ___,
        !           101: #endif
        !           102:  /* 0xf0 */    ___,            ___,            ___,            ___,
        !           103:  /* 0x100 */   ___,            ___,            ___,            ___,
        !           104:  /* 0x110 */   ___,            ___,            ___,            ___,
        !           105:  /* 0x120 */   ___,            ___,            ___,            ___,
        !           106:  /* 0x130 */   ___,            ___,            ___,            ___,
        !           107:  /* 0x140 */   ___,            ___,            ___,            ___,
        !           108:  /* 0x150 */   ___,            ___,            ___,            ___,
        !           109:  /* 0x160 */   ___,            ___,            ___,            ___,
        !           110:  /* 0x170 */   ___,            ___,            ___,            ___,
        !           111:  /* 0x180 */   ___,            ___,            ___,            ___,
        !           112:  /* 0x190 */   ___,            ___,            ___,            ___,
        !           113:  /* 0x1a0 */   ___,            ___,            ___,            ___,
        !           114:  /* 0x1b0 */   ___,            ___,            ___,            ___,
        !           115:  /* 0x1c0 */   ___,            ___,            ___,            ___,
        !           116:  /* 0x1d0 */   ___,            ___,            ___,            ___,
        !           117:  /* 0x1e0 */   ___,            ___,            ___,            ___,
        !           118:  /* 0x1f0 */   ___,            ___,            ___,            ___,
        !           119: };
        !           120:  
        !           121: #undef ___
        !           122: 
        !           123: ubastray()
        !           124: {
        !           125:        register int i;
        !           126: 
        !           127: #ifdef lint
        !           128:        i = 0;
        !           129: #else
        !           130:        asm("movl r3,r11");             /* magic */
        !           131: #endif
        !           132:        printf("stray UBA interrupt: 0x%X\n", i);
        !           133: }

unix.superglobalmegacorp.com

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