|
|
1.1 ! root 1: /* @(#)scb.h 1.1 86/02/03 SMI */ ! 2: ! 3: /* ! 4: * Copyright (c) 1985 by Sun Microsystems, Inc. ! 5: */ ! 6: ! 7: /* ! 8: * Sun System control block layout ! 9: * [] denoted 68020 particulars ! 10: */ ! 11: ! 12: struct scb { ! 13: int scb_issp; /* 00 - initial SSP */ ! 14: int (*scb_ipc)(); /* 04 - initial PC */ ! 15: int (*scb_buserr)(); /* 08 - bus error */ ! 16: int (*scb_addrerr)(); /* 0c - address error */ ! 17: int (*scb_illinst)(); /* 10 - illegal instruction */ ! 18: int (*scb_zerodiv)(); /* 14 - zero divide */ ! 19: int (*scb_chk)(); /* 18 - CHK [CHK2] instruction */ ! 20: int (*scb_trapv)(); /* 1c - TRAPV [cpTRAPcc TRAPcc] instr */ ! 21: int (*scb_priv)(); /* 20 - privilege violation */ ! 22: int (*scb_trace)(); /* 24 - trace trap */ ! 23: int (*scb_e1010)(); /* 28 - line 1010 emulator */ ! 24: int (*scb_e1111)(); /* 2c - line 1111 emulator */ ! 25: int (*scb_res30)(); /* 30 - reserved */ ! 26: int (*scb_coprocerr)(); /* 34 - [coprocessor protocol error] */ ! 27: int (*scb_fmterr)(); /* 38 - RTE format error */ ! 28: int (*scb_uninit)(); /* 3c - uninitialized interrupt */ ! 29: int (*scb_res1[8])(); /* 40-5c - reserved */ ! 30: int (*scb_stray)(); /* 60 - spurious interrupt */ ! 31: int (*scb_autovec[7])(); /* 64-7c - level 1-7 autovectors */ ! 32: int (*scb_trap[16])(); /* 80-bc - trap instruction vectors */ ! 33: int (*scb_res2[16])(); /* c0-fc - reserved */ ! 34: int (*scb_user[192])(); /* 100-3fc - user interrupt vectors */ ! 35: }; ! 36: ! 37: #define AUTOBASE (0x60 / sizeof (int)) /* autovector base vector number */ ! 38: #define VEC_MIN (0x100 / sizeof (int)) /* minimum vectored interrupt number */ ! 39: #define VEC_MAX (0x3fc / sizeof (int)) /* maximum vectored interrupt number */ ! 40: ! 41: #ifdef KERNEL ! 42: extern struct scb scb, protoscb; ! 43: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.