1 /* "@(#)defs.h 4.3 12/24/82" */ 2 # 3 /* 4 * 5 * UNIX debugger - common definitions 6 * 7 */ 8 9 10 11 /* Layout of a.out file (fsym): 12 * 13 * header of 8 longwords 14 * magic number 410 15 * text size ) 16 * data size ) padded with 0 to multiple of 4 bytes 17 * bss size ) 18 * symbol table size 19 * entry address 20 * size of text relocation info 21 * size of data relocation info 22 * 23 * 24 * header: 0 25 * text: 32 26 * data: 32+textsize 27 * text reloc: 32+textsize+datasize 28 * data reloc: 32+textsize+datasize+textreloc 29 * symbol table: 32+textsize+datasize+textreloc+datareloc 30 * 31 */ 32 33 #include <sys/param.h> 34 #include <sys/dir.h> 35 #include <machine/psl.h> 36 #include <sys/user.h> 37 #include "mac.h" 38 #include "mode.h" 39 40 41 #define VARB 11 42 #define VARD 13 43 #define VARE 14 44 #define VARM 22 45 #define VARS 28 46 #define VART 29 47 48 #define COREMAGIC 0140000 49 50 /* access modes */ 51 #define RD 0 52 #define WT 1 53 54 /* access spaces */ 55 #define NSP 0 56 #define ISP 1 57 #define DSP 2 58 59 #define STAR 4 60 #define STARCOM 0200 61 #define DSYM 4 62 #define ISYM 4 63 #define ASYM 2 64 #define NSYM 0 65 #define ESYM (-1) 66 #define BKPTSET 1 67 #define BKPTEXEC 2 68 #define SYMSIZ 100 69 #define MAXSIG 20 70 71 #define USERPS PSL 72 #define USERPC PC 73 #define BPT 03 74 #define TBIT 020 75 #define FD 0200 76 77 /* ptracew modes */ 78 #define SETTRC 0 79 #define RDUSER 2 80 #define RIUSER 1 81 #define WDUSER 5 82 #define WIUSER 4 83 #define RUREGS 3 84 #define WUREGS 6 85 #define CONTIN 7 86 #define EXIT 8 87 #define SINGLE 9 88 89 #define FROFF (&(0->fpsr)) 90 #define FRLEN 25 91 #define FRMAX 6 92 93 /* the quantities involving ctob() are located in the kernel stack. 94 /* the others are in the pcb. 95 */ 96 #define KSP 0 97 #define ESP 4 98 #define SSP 8 99 #ifndef STD 100 #define USP (ctob(UPAGES)-5*4) 101 #define R0 (ctob(UPAGES)-18*4) 102 #define R1 (ctob(UPAGES)-17*4) 103 #define R2 (ctob(UPAGES)-16*4) 104 #define R3 (ctob(UPAGES)-15*4) 105 #define R4 (ctob(UPAGES)-14*4) 106 #define R5 (ctob(UPAGES)-13*4) 107 #define R6 (ctob(UPAGES)-12*4) 108 #define R7 (ctob(UPAGES)-11*4) 109 #define R8 (ctob(UPAGES)-10*4) 110 #define R9 (ctob(UPAGES)-9*4) 111 #define R10 (ctob(UPAGES)-8*4) 112 #define R11 (ctob(UPAGES)-7*4) 113 #define AP (ctob(UPAGES)-21*4) 114 #define FP (ctob(UPAGES)-20*4) 115 #define PC (ctob(UPAGES)-2*4) 116 #define PSL (ctob(UPAGES)-1*4) 117 #else 118 #define USP (ctob(UPAGES)-5*4) 119 #define R0 (ctob(UPAGES)-19*4) 120 #define R1 (ctob(UPAGES)-18*4) 121 #define R2 (ctob(UPAGES)-17*4) 122 #define R3 (ctob(UPAGES)-16*4) 123 #define R4 (ctob(UPAGES)-15*4) 124 #define R5 (ctob(UPAGES)-14*4) 125 #define R6 (ctob(UPAGES)-13*4) 126 #define R7 (ctob(UPAGES)-12*4) 127 #define R8 (ctob(UPAGES)-11*4) 128 #define R9 (ctob(UPAGES)-10*4) 129 #define R10 (ctob(UPAGES)-9*4) 130 #define R11 (ctob(UPAGES)-8*4) 131 #define AP (ctob(UPAGES)-7*4) 132 #define FP (ctob(UPAGES)-6*4) 133 #define PC (ctob(UPAGES)-2*4) 134 #define PSL (ctob(UPAGES)-1*4) 135 #endif 136 #define P0BR 80 137 #define P0LR 84 138 #define P1BR 88 139 #define P1LR 92 140 141 #define MAXOFF 255 142 #define MAXPOS 80 143 #define MAXLIN 128 144 #define EOR '\n' 145 #define SP ' ' 146 #define TB '\t' 147 #define QUOTE 0200 148 #define STRIP 0177 149 #define LOBYTE 0377 150 #define EVEN -2 151 152 153 #ifndef vax 154 #define leng(a) ((long)((unsigned)(a))) 155 #define shorten(a) ((int)(a)) 156 #define itol(a,b) (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L) 157 #else 158 #define leng(a) itol(0,a) 159 #define shorten(a) ((short)(a)) 160 #define itol(a,b) (itolws.I[0]=(b), itolws.I[1]=(a), itolws.L) 161 #endif 162 163 164 165 /* result type declarations */ 166 L_INT inkdot(); 167 SYMPTR lookupsym(); 168 SYMPTR symget(); 169 POS get(); 170 POS chkget(); 171 STRING exform(); 172 L_INT round(); 173 BKPTR scanbkpt(); 174 VOID fault(); 175 176 177 INT mkfault; 178 INT executing; 179 L_INT maxoff; 180 L_INT maxpos; 181 ADDR sigint; 182 ADDR sigqit; 183 INT wtflag; 184 L_INT maxfile; 185 L_INT maxstor; 186 L_INT txtsiz; 187 L_INT datsiz; 188 L_INT datbas; 189 L_INT stksiz; 190 STRING errflg; 191 INT magic; 192 L_INT entrypt; 193 194 CHAR lastc; 195 196 STRING symfil; 197 STRING corfil; 198 MAP txtmap; 199 MAP datmap; 200