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