1*34408Skarels /* 2*34408Skarels * @(#)scb.h 7.1 (Berkeley) 05/21/88 3*34408Skarels */ 425683Ssam 525683Ssam /* 625683Ssam * System control block. 725683Ssam */ 825683Ssam struct scb { 925683Ssam int (*scb_vec0)(); /* 000: reserved */ 1025854Ssam int (*scb_powfail)(); /* 001: power failure */ 1125854Ssam int (*scb_doadump)(); /* 002: power restore */ 1225854Ssam int (*scb_vec3)(); /* 003: reserved */ 1325854Ssam int (*scb_vec4)(); /* 004: reserved */ 1425854Ssam int (*scb_vec5)(); /* 005: reserved */ 1525854Ssam int (*scb_vec6)(); /* 006: reserved */ 1625854Ssam int (*scb_hardclock)(); /* 007: interval timer (clock) */ 1725854Ssam int (*scb_vec8)(); /* 008: reserved */ 1825854Ssam int (*scb_vec9)(); /* 009: reserved */ 1925854Ssam int (*scb_cnrint)(); /* 00a: console receive */ 2025854Ssam int (*scb_cnxint)(); /* 00b: console transmit */ 2125854Ssam int (*scb_rmtrint)(); /* 00c: remote line receive */ 2225854Ssam int (*scb_rmtxint)(); /* 00d: remote line transmit */ 2325854Ssam int (*scb_vec14)(); /* 00e: reserved */ 2425854Ssam int (*scb_vec15)(); /* 00f: reserved */ 2525854Ssam int (*scb_softint[15])(); /* 010: software ints (ipl 1f-1) */ 2625854Ssam int (*scb_vec31)(); /* 01f: reserved */ 2725854Ssam int (*scb_buserr)(); /* 020: bus error */ 2825854Ssam int (*scb_vec33)(); /* 021: reserved */ 2925854Ssam int (*scb_vec34)(); /* 022: reserved */ 3025854Ssam int (*scb_vec35)(); /* 023: reserved */ 3125854Ssam int (*scb_vec36)(); /* 024: reserved */ 3225854Ssam int (*scb_vec37)(); /* 025: reserved */ 3325854Ssam int (*scb_vec38)(); /* 026: reserved */ 3425854Ssam int (*scb_vec39)(); /* 027: reserved */ 3525854Ssam int (*scb_vec40)(); /* 028: reserved */ 3625854Ssam int (*scb_vec41)(); /* 029: reserved */ 3725854Ssam int (*scb_vec42)(); /* 02a: reserved */ 3825854Ssam int (*scb_syscall)(); /* 02b: system call (kcall) */ 3925854Ssam int (*scb_privinflt)(); /* 02c: privileged/reserved inst */ 4025854Ssam int (*scb_respoflt)(); /* 02d: reserved operand */ 4125854Ssam int (*scb_resadflt)(); /* 02e: reserved addressing mode */ 4225854Ssam int (*scb_protflt)(); /* 02f: access control violation */ 4325854Ssam int (*scb_transflt)(); /* 030: translation not valid */ 4425854Ssam int (*scb_kspnotval)(); /* 031: kernel stack invalid */ 4525854Ssam int (*scb_tracep)(); /* 032: trace trap */ 4625854Ssam int (*scb_bptflt)(); /* 033: breakpoint */ 4725854Ssam int (*scb_arithtrap)(); /* 034: arithmetic exception */ 4825854Ssam int (*scb_alignflt)(); /* 035: alignment fault */ 4925854Ssam int (*scb_sfexcep)(); /* 036: system forced exception */ 5025854Ssam int (*scb_fpm)(); /* 037: floating point emulation */ 5125854Ssam int (*scb_vec56)(); /* 038: reserved */ 5225854Ssam int (*scb_vec57)(); /* 039: reserved */ 5325854Ssam int (*scb_vec58)(); /* 03a: reserved */ 5425854Ssam int (*scb_vec59)(); /* 03b: reserved */ 5525854Ssam int (*scb_vec60)(); /* 03c: reserved */ 5625854Ssam int (*scb_vec61)(); /* 03d: reserved */ 5725854Ssam int (*scb_vec62)(); /* 03e: reserved */ 5825854Ssam int (*scb_vec63)(); /* 03f: reserved */ 5925854Ssam int (*scb_devint[191])(); /* 040: device vectors */ 6025683Ssam }; 6125854Ssam 6225854Ssam #define SCB_LASTIV (sizeof (((struct scb *)0)->scb_devint) / \ 6325854Ssam sizeof (((struct scb *)0)->scb_devint[0])) 6425854Ssam 6525854Ssam #ifdef KERNEL 6625854Ssam extern struct scb scb; 6725854Ssam #endif 68