xref: /csrg-svn/old/adb/adb.vax/defs.h (revision 9854)
1*9854Ssam /*	defs.h	4.3	82/12/19	*/
23768Sroot 
33768Sroot /*
43768Sroot  * adb - vax string table version; common definitions
53768Sroot  */
6*9854Ssam #include <machine/psl.h>
7*9854Ssam #include <machine/pte.h>
83768Sroot 
93768Sroot #include <sys/param.h>
103768Sroot #include <sys/dir.h>
113768Sroot #include <sys/user.h>
12*9854Ssam 
133768Sroot #include <ctype.h>
143768Sroot #include <a.out.h>
153768Sroot 
163768Sroot #include "mac.h"
173768Sroot #include "mode.h"
183768Sroot #include "head.h"
193768Sroot 
203768Sroot /* access modes */
213768Sroot #define RD	0
223768Sroot #define WT	1
233768Sroot 
243768Sroot #define NSP	0
253768Sroot #define	ISP	1
263768Sroot #define	DSP	2
273768Sroot #define STAR	4
283768Sroot #define STARCOM 0200
293768Sroot 
303768Sroot /*
313768Sroot  * Symbol types, used internally in calls to findsym routine.
323768Sroot  * One the VAX this all degenerates since I & D symbols are indistinct.
333768Sroot  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
343768Sroot  */
353768Sroot #define NSYM	0
363768Sroot #define DSYM	1		/* Data space symbol */
373768Sroot #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
383768Sroot 
393768Sroot #define BKPTSET	1
403768Sroot #define BKPTEXEC 2
413768Sroot 
423768Sroot #define USERPS	PSL
433768Sroot #define USERPC	PC
443768Sroot #define BPT	03
453768Sroot #define TBIT	020
463768Sroot #define FD	0200
473768Sroot #define	SETTRC	0
483768Sroot #define	RDUSER	2
493768Sroot #define	RIUSER	1
503768Sroot #define	WDUSER	5
513768Sroot #define WIUSER	4
523768Sroot #define	RUREGS	3
533768Sroot #define	WUREGS	6
543768Sroot #define	CONTIN	7
553768Sroot #define	EXIT	8
563768Sroot #define SINGLE	9
573768Sroot 
583768Sroot /* the quantities involving ctob() are located in the kernel stack. */
593768Sroot /* the others are in the pcb. */
603768Sroot #define KSP	0
613768Sroot #define ESP	4
623768Sroot #define SSP	8
633768Sroot #define USP	(ctob(UPAGES)-5*sizeof(int))
643768Sroot #define R0	(ctob(UPAGES)-18*sizeof(int))
653768Sroot #define R1	(ctob(UPAGES)-17*sizeof(int))
663768Sroot #define R2	(ctob(UPAGES)-16*sizeof(int))
673768Sroot #define R3	(ctob(UPAGES)-15*sizeof(int))
683768Sroot #define R4	(ctob(UPAGES)-14*sizeof(int))
693768Sroot #define R5	(ctob(UPAGES)-13*sizeof(int))
703768Sroot #define R6	(ctob(UPAGES)-12*sizeof(int))
713768Sroot #define R7	(ctob(UPAGES)-11*sizeof(int))
723768Sroot #define R8	(ctob(UPAGES)-10*sizeof(int))
733768Sroot #define R9	(ctob(UPAGES)-9*sizeof(int))
743768Sroot #define R10	(ctob(UPAGES)-8*sizeof(int))
753768Sroot #define R11	(ctob(UPAGES)-7*sizeof(int))
763768Sroot #define AP	(ctob(UPAGES)-21*sizeof(int))
773768Sroot #define FP	(ctob(UPAGES)-20*sizeof(int))
783768Sroot #define PC	(ctob(UPAGES)-2*sizeof(int))
793768Sroot #define PSL	(ctob(UPAGES)-1*sizeof(int))
803768Sroot #define P0BR	80
813768Sroot #define P0LR	84
823768Sroot #define P1BR	88
833768Sroot #define P1LR	92
843768Sroot 
853768Sroot #define MAXOFF	255
863768Sroot #define MAXPOS	80
873768Sroot #define MAXLIN	128
883768Sroot #define EOF	0
893768Sroot #define EOR	'\n'
903768Sroot #define SP	' '
913768Sroot #define TB	'\t'
923768Sroot #define QUOTE	0200
933768Sroot #define STRIP	0177
943768Sroot #define LOBYTE	0377
953768Sroot #define EVEN	-2
963768Sroot 
973768Sroot /* long to ints and back (puns) */
983768Sroot union {
993768Sroot 	INT	I[2];
1003768Sroot 	L_INT	L;
1013768Sroot } itolws;
1023768Sroot 
1033768Sroot #ifndef vax
1043768Sroot #define leng(a)		((long)((unsigned)(a)))
1053768Sroot #define shorten(a)	((int)(a))
1063768Sroot #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
1073768Sroot #else
1083768Sroot #define leng(a)		itol(0,a)
1093768Sroot #define shorten(a)	((short)(a))
1103768Sroot #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
1113768Sroot #endif
1123768Sroot 
1133768Sroot /* result type declarations */
1143768Sroot L_INT		inkdot();
1153768Sroot POS		get();
1163768Sroot POS		chkget();
1173768Sroot STRING		exform();
1183768Sroot L_INT		round();
1193768Sroot BKPTR		scanbkpt();
1203768Sroot VOID		fault();
1213777Sroot 
1223777Sroot struct	pcb	pcb;
1233777Sroot int	kernel;
1243777Sroot int	kcore;
1253777Sroot struct	pte *sbr;
1263777Sroot int	slr;
1273777Sroot int	masterpcbb;
128