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