xref: /original-bsd/old/adb/adb.vax/defs.h (revision 0b134a92)
1*0b134a92Smckusick /*	defs.h	4.6	86/03/26	*/
236769e27Sroot 
336769e27Sroot /*
436769e27Sroot  * adb - vax string table version; common definitions
536769e27Sroot  */
6c15891f3Ssam #include <machine/psl.h>
7c15891f3Ssam #include <machine/pte.h>
836769e27Sroot 
936769e27Sroot #include <sys/param.h>
1036769e27Sroot #include <sys/dir.h>
1136769e27Sroot #include <sys/user.h>
12c15891f3Ssam 
1336769e27Sroot #include <ctype.h>
1436769e27Sroot #include <a.out.h>
15*0b134a92Smckusick #include <sys/ptrace.h>
1636769e27Sroot 
1736769e27Sroot #include "mac.h"
1836769e27Sroot #include "mode.h"
1936769e27Sroot #include "head.h"
2036769e27Sroot 
2136769e27Sroot /* access modes */
2236769e27Sroot #define RD	0
2336769e27Sroot #define WT	1
2436769e27Sroot 
2536769e27Sroot #define NSP	0
2636769e27Sroot #define	ISP	1
2736769e27Sroot #define	DSP	2
2836769e27Sroot #define STAR	4
2936769e27Sroot #define STARCOM 0200
3036769e27Sroot 
3136769e27Sroot /*
3236769e27Sroot  * Symbol types, used internally in calls to findsym routine.
3336769e27Sroot  * One the VAX this all degenerates since I & D symbols are indistinct.
3436769e27Sroot  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
3536769e27Sroot  */
3636769e27Sroot #define NSYM	0
3736769e27Sroot #define DSYM	1		/* Data space symbol */
3836769e27Sroot #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
3936769e27Sroot 
4036769e27Sroot #define BKPTSET	1
4136769e27Sroot #define BKPTEXEC 2
4236769e27Sroot 
4336769e27Sroot #define USERPS	PSL
4436769e27Sroot #define USERPC	PC
4536769e27Sroot #define BPT	03
4636769e27Sroot #define TBIT	020
4736769e27Sroot #define FD	0200
48208179b0Ssam 
49*0b134a92Smckusick /* puns from <sys/ptrace.h> */
50208179b0Ssam #define	CONTIN	PT_CONTINUE
51208179b0Ssam #define SINGLE	PT_STEP
5236769e27Sroot 
5336769e27Sroot /* the quantities involving ctob() are located in the kernel stack. */
5436769e27Sroot /* the others are in the pcb. */
5536769e27Sroot #define KSP	0
5636769e27Sroot #define ESP	4
5736769e27Sroot #define SSP	8
5836769e27Sroot #define USP	(ctob(UPAGES)-5*sizeof(int))
5936769e27Sroot #define R0	(ctob(UPAGES)-18*sizeof(int))
6036769e27Sroot #define R1	(ctob(UPAGES)-17*sizeof(int))
6136769e27Sroot #define R2	(ctob(UPAGES)-16*sizeof(int))
6236769e27Sroot #define R3	(ctob(UPAGES)-15*sizeof(int))
6336769e27Sroot #define R4	(ctob(UPAGES)-14*sizeof(int))
6436769e27Sroot #define R5	(ctob(UPAGES)-13*sizeof(int))
6536769e27Sroot #define R6	(ctob(UPAGES)-12*sizeof(int))
6636769e27Sroot #define R7	(ctob(UPAGES)-11*sizeof(int))
6736769e27Sroot #define R8	(ctob(UPAGES)-10*sizeof(int))
6836769e27Sroot #define R9	(ctob(UPAGES)-9*sizeof(int))
6936769e27Sroot #define R10	(ctob(UPAGES)-8*sizeof(int))
7036769e27Sroot #define R11	(ctob(UPAGES)-7*sizeof(int))
7136769e27Sroot #define AP	(ctob(UPAGES)-21*sizeof(int))
7236769e27Sroot #define FP	(ctob(UPAGES)-20*sizeof(int))
7336769e27Sroot #define PC	(ctob(UPAGES)-2*sizeof(int))
7436769e27Sroot #define PSL	(ctob(UPAGES)-1*sizeof(int))
7536769e27Sroot #define P0BR	80
7636769e27Sroot #define P0LR	84
7736769e27Sroot #define P1BR	88
7836769e27Sroot #define P1LR	92
7936769e27Sroot 
8036769e27Sroot #define MAXOFF	255
8136769e27Sroot #define MAXPOS	80
8236769e27Sroot #define MAXLIN	128
8336769e27Sroot #define EOR	'\n'
8436769e27Sroot #define SP	' '
8536769e27Sroot #define TB	'\t'
8636769e27Sroot #define QUOTE	0200
8736769e27Sroot #define STRIP	0177
8836769e27Sroot #define LOBYTE	0377
8936769e27Sroot #define EVEN	-2
9036769e27Sroot 
9136769e27Sroot /* long to ints and back (puns) */
9236769e27Sroot union {
9336769e27Sroot 	INT	I[2];
9436769e27Sroot 	L_INT	L;
9536769e27Sroot } itolws;
9636769e27Sroot 
9736769e27Sroot #ifndef vax
9836769e27Sroot #define leng(a)		((long)((unsigned)(a)))
9936769e27Sroot #define shorten(a)	((int)(a))
10036769e27Sroot #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
10136769e27Sroot #else
10236769e27Sroot #define leng(a)		itol(0,a)
10336769e27Sroot #define shorten(a)	((short)(a))
10436769e27Sroot #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
10536769e27Sroot #endif
10636769e27Sroot 
10736769e27Sroot /* result type declarations */
10836769e27Sroot L_INT		inkdot();
10936769e27Sroot POS		get();
11036769e27Sroot POS		chkget();
11136769e27Sroot STRING		exform();
11236769e27Sroot L_INT		round();
11336769e27Sroot BKPTR		scanbkpt();
11436769e27Sroot VOID		fault();
115e0cede50Sroot 
116e0cede50Sroot struct	pcb	pcb;
117e0cede50Sroot int	kernel;
118e0cede50Sroot int	kcore;
119e0cede50Sroot struct	pte *sbr;
120e0cede50Sroot int	slr;
121e0cede50Sroot int	masterpcbb;
122