|
|
1.1 root 1: /* defs.h 1.3 86/11/20 */
2:
3: /*
4: * adb - vax string table version; common definitions
5: */
6:
7: #include <sys/param.h>
8: #include <sys/dir.h>
9: #include <machine/psl.h>
10: #include <machine/pte.h>
11: #include <sys/user.h>
12: #include <ctype.h>
13: #include <a.out.h>
14:
15: #include "mac.h"
16: #include "mode.h"
17: #include "head.h"
18:
19: /* access modes */
20: #define RD 0
21: #define WT 1
22:
23: #define NSP 0
24: #define ISP 1
25: #define DSP 2
26: #define STAR 4
27:
28: /*
29: * Symbol types, used internally in calls to findsym routine.
30: * One the VAX this all degenerates since I & D symbols are indistinct.
31: * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
32: */
33: #define NSYM 0
34: #define DSYM 1 /* Data space symbol */
35: #define ISYM DSYM /* Instruction space symbol == DSYM on VAX */
36:
37: #define BKPTSET 1
38: #define BKPTEXEC 2
39:
40: #define BPT 0x30
41: #define KCALL 0xcf
42: #define CASEL 0xfc
43: #define TBIT 0x10
44: #define SETTRC 0
45: #define RDUSER 2
46: #define RIUSER 1
47: #define WDUSER 5
48: #define WIUSER 4
49: #define RUREGS 3
50: #define WUREGS 6
51: #define CONTIN 7
52: #define EXIT 8
53: #define SINGLE 9
54:
55: /* the quantities involving ctob() are located in the kernel stack. */
56: /* the others are in the pcb. */
57: #define KSP 0
58: #define USP (ctob(UPAGES)-9*sizeof (int))
59: #define R0 (ctob(UPAGES)-25*sizeof (int))
60: #define R1 (ctob(UPAGES)-24*sizeof (int))
61: #define R2 (ctob(UPAGES)-23*sizeof (int))
62: #define R3 (ctob(UPAGES)-22*sizeof (int))
63: #define R4 (ctob(UPAGES)-21*sizeof (int))
64: #define R5 (ctob(UPAGES)-20*sizeof (int))
65: #define R6 (ctob(UPAGES)-19*sizeof (int))
66: #define R7 (ctob(UPAGES)-18*sizeof (int))
67: #define R8 (ctob(UPAGES)-17*sizeof (int))
68: #define R9 (ctob(UPAGES)-16*sizeof (int))
69: #define R10 (ctob(UPAGES)-15*sizeof (int))
70: #define R11 (ctob(UPAGES)-14*sizeof (int))
71: #define R12 (ctob(UPAGES)-13*sizeof (int))
72: #define FP (ctob(UPAGES)-10*sizeof (int))
73: #define PC (ctob(UPAGES)-2*sizeof (int))
74: #define PSL (ctob(UPAGES)-1*sizeof (int))
75: #define P0BR 72
76: #define P0LR 76
77: #define P1BR 80
78: #define P1LR 84
79: #define P2BR 88
80: #define P2LR 92
81: #define ACHI (ctob(UPAGES)-6*sizeof (int))
82: #define ACLO (ctob(UPAGES)-7*sizeof (int))
83: #define HFS (ctob(UPAGES)-8*sizeof (int))
84:
85: #define MAXOFF 1024
86: #define MAXPOS 80
87: #define MAXLIN 256
88: #define QUOTE 0200
89: #define ALIGN -4
90:
91: #ifndef vax
92: #define leng(a) ((long)((unsigned)(a)))
93: #define shorten(a) (((a) >> 16) & 0xffff)
94: #define itol(a,b) (((a) << 16) | ((b) & 0xffff))
95: #define byte(a) (((a) >> 24) & 0xff)
96: #define btol(a) ((a) << 24)
97: #else
98: #define leng(a) itol(0,a)
99: #define shorten(a) ((a) & 0xffff)
100: #define itol(a,b) (((a) & 0xffff) | ((b) << 16))
101: #define byte(a) ((a) & 0xff)
102: #define btol(a) (a)
103: #endif
104:
105: /* result type declarations */
106: L_INT inkdot();
107: POS get();
108: POS chkget();
109: STRING exform();
110: L_INT round();
111: BKPTR scanbkpt();
112: VOID fault();
113:
114: struct pcb pcb;
115: int kernel;
116: int kcore;
117: struct pte *sbr;
118: int slr;
119: int masterpcbb;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.