xref: /original-bsd/old/adb/adb.tahoe/defs.h (revision e59fb703)
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;
120