Annotation of 40BSD/sys/conf/univec.c, revision 1.1.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.