1 /* 2 * @(#)scb.h 7.1 (Berkeley) 05/21/88 3 */ 4 5 /* 6 * System control block. 7 */ 8 struct scb { 9 int (*scb_vec0)(); /* 000: reserved */ 10 int (*scb_powfail)(); /* 001: power failure */ 11 int (*scb_doadump)(); /* 002: power restore */ 12 int (*scb_vec3)(); /* 003: reserved */ 13 int (*scb_vec4)(); /* 004: reserved */ 14 int (*scb_vec5)(); /* 005: reserved */ 15 int (*scb_vec6)(); /* 006: reserved */ 16 int (*scb_hardclock)(); /* 007: interval timer (clock) */ 17 int (*scb_vec8)(); /* 008: reserved */ 18 int (*scb_vec9)(); /* 009: reserved */ 19 int (*scb_cnrint)(); /* 00a: console receive */ 20 int (*scb_cnxint)(); /* 00b: console transmit */ 21 int (*scb_rmtrint)(); /* 00c: remote line receive */ 22 int (*scb_rmtxint)(); /* 00d: remote line transmit */ 23 int (*scb_vec14)(); /* 00e: reserved */ 24 int (*scb_vec15)(); /* 00f: reserved */ 25 int (*scb_softint[15])(); /* 010: software ints (ipl 1f-1) */ 26 int (*scb_vec31)(); /* 01f: reserved */ 27 int (*scb_buserr)(); /* 020: bus error */ 28 int (*scb_vec33)(); /* 021: reserved */ 29 int (*scb_vec34)(); /* 022: reserved */ 30 int (*scb_vec35)(); /* 023: reserved */ 31 int (*scb_vec36)(); /* 024: reserved */ 32 int (*scb_vec37)(); /* 025: reserved */ 33 int (*scb_vec38)(); /* 026: reserved */ 34 int (*scb_vec39)(); /* 027: reserved */ 35 int (*scb_vec40)(); /* 028: reserved */ 36 int (*scb_vec41)(); /* 029: reserved */ 37 int (*scb_vec42)(); /* 02a: reserved */ 38 int (*scb_syscall)(); /* 02b: system call (kcall) */ 39 int (*scb_privinflt)(); /* 02c: privileged/reserved inst */ 40 int (*scb_respoflt)(); /* 02d: reserved operand */ 41 int (*scb_resadflt)(); /* 02e: reserved addressing mode */ 42 int (*scb_protflt)(); /* 02f: access control violation */ 43 int (*scb_transflt)(); /* 030: translation not valid */ 44 int (*scb_kspnotval)(); /* 031: kernel stack invalid */ 45 int (*scb_tracep)(); /* 032: trace trap */ 46 int (*scb_bptflt)(); /* 033: breakpoint */ 47 int (*scb_arithtrap)(); /* 034: arithmetic exception */ 48 int (*scb_alignflt)(); /* 035: alignment fault */ 49 int (*scb_sfexcep)(); /* 036: system forced exception */ 50 int (*scb_fpm)(); /* 037: floating point emulation */ 51 int (*scb_vec56)(); /* 038: reserved */ 52 int (*scb_vec57)(); /* 039: reserved */ 53 int (*scb_vec58)(); /* 03a: reserved */ 54 int (*scb_vec59)(); /* 03b: reserved */ 55 int (*scb_vec60)(); /* 03c: reserved */ 56 int (*scb_vec61)(); /* 03d: reserved */ 57 int (*scb_vec62)(); /* 03e: reserved */ 58 int (*scb_vec63)(); /* 03f: reserved */ 59 int (*scb_devint[191])(); /* 040: device vectors */ 60 }; 61 62 #define SCB_LASTIV (sizeof (((struct scb *)0)->scb_devint) / \ 63 sizeof (((struct scb *)0)->scb_devint[0])) 64 65 #ifdef KERNEL 66 extern struct scb scb; 67 #endif 68