|
|
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.