/* univec.c 4.1 11/9/80 */
/* DEV puts controller no. in bits 27-31 of ISR addr */
#define DEV(x,n) (int (*)())((int)(x) + 0x08000000 * n)
/* DMA sets low bit to activate pseudo-dma code */
#define DMA(x) (int (*)())((int)(x) + 1)
/* dzxint is, in reality, a pseudo-dma entry */
#define dzxint DMA(dzdma)
* Definitions of functions to be placed in UNIvec.
extern dzrint(), dzdma();
extern dhrint(), dhxint();
#define ___ ubastray /* fill in the blank! */
int (*UNIvec
[NBPG
/NBPW
])() = {
/* 0x0 */ ___
, ___
, ___
, ___
,
/* 0x10 */ ___
, ___
, ___
, ___
,
/* 0x20 */ ___
, ___
, ___
, ___
,
/* 0x30 */ ___
, ___
, ___
, ___
,
/* 0x40 */ ___
, ___
, ___
, ___
,
/* 0x50 */ ___
, ___
, ___
, ___
,
/* 0x60 */ ___
, ___
, ___
, ___
,
/* 0x70 */ ___
, ___
, vaintr
, vpintr
,
/* 0x80 */ vpintr
, ___
, ___
, ___
,
/* 0x90 */ ___
, ___
, ___
, ___
,
/* 0xa0 */ ___
, ___
, ___
, upintr
,
/* 0xb0 */ ___
, ___
, ___
, ___
,
/* 0xc0 */ DEV(dzrint
,0), DEV(dzxint
,0),
/* 0xc8 */ DEV(dzrint
,1), DEV(dzxint
,1),
/* 0xd0 */ DEV(dzrint
,2), DEV(dzxint
,2),
/* 0xd8 */ DEV(dzrint
,3), DEV(dzxint
,3),
/* 0xe0 */ DEV(dhrint
,0), DEV(dhxint
,0),
/* 0xe0 */ DEV(dhrint
,1), DEV(dhxint
,1),
/* 0xf0 */ ___
, ___
, ___
, ___
,
/* 0x100 */ ___
, ___
, ___
, ___
,
/* 0x110 */ ___
, ___
, ___
, ___
,
/* 0x120 */ ___
, ___
, ___
, ___
,
/* 0x130 */ ___
, ___
, ___
, ___
,
/* 0x140 */ ___
, ___
, ___
, ___
,
/* 0x150 */ ___
, ___
, ___
, ___
,
/* 0x160 */ ___
, ___
, ___
, ___
,
/* 0x170 */ ___
, ___
, ___
, ___
,
/* 0x180 */ ___
, ___
, ___
, ___
,
/* 0x190 */ ___
, ___
, ___
, ___
,
/* 0x1a0 */ ___
, ___
, ___
, ___
,
/* 0x1b0 */ ___
, ___
, ___
, ___
,
/* 0x1c0 */ ___
, ___
, ___
, ___
,
/* 0x1d0 */ ___
, ___
, ___
, ___
,
/* 0x1e0 */ ___
, ___
, ___
, ___
,
/* 0x1f0 */ ___
, ___
, ___
, ___
,
asm("movl r3,r11"); /* magic */
printf("stray UBA interrupt: 0x%X\n", i
);