1 /* kdbparam.h 7.4 86/11/23 */ 2 3 #include <sys/vm.h> 4 5 #define DBNAME "kdb\n" 6 #define LPRMODE "%R" 7 #define OFFMODE "+%R" 8 9 #define MAXINT 0x7fffffff 10 #define MAXSTOR (KERNBASE - ctob(UPAGES)) 11 12 #define ENTRYMASK 1 /* check for entry masks */ 13 #define ishiddenreg(p) ((p) <= ®list[8]) 14 15 #define BPT 0x30 16 #define KCALL 0xcf 17 #define CASEL 0xfc 18 #define TBIT 0x10 19 20 #define clrsstep() (pcb.pcb_psl &= ~TBIT) 21 #define setsstep() (pcb.pcb_psl |= TBIT) 22 23 #define SETBP(ins) ((BPT<<24) | ((ins) & 0xffffff)) 24 25 #define getprevpc(fp) get((fp)-8, DSP) /* pc of caller */ 26 #define getprevframe(fp) (get((fp), DSP)&~3) /* fp of caller */ 27 #define getnargs(fp) (((get((fp)-4, DSP)&0xffff)-4)/4) 28 #define nextarg(ap) ((ap) + 4) /* next argument in list */ 29 #define NOFRAME 0 /* fp at top of call stack */ 30 31 #define issignalpc(pc) (MAXSTOR < (pc) && (pc) < MAXSTOR+ctob(UPAGES)) 32 #define getsignalpc(fp) get((fp)+44, DSP) /* pc of caller before signal */ 33 34 #define leng(a) ((long)((unsigned)(a))) 35 #define shorten(a) (((a) >> 16) & 0xffff) 36 #define itol(a,b) (((a) << 16) | ((b) & 0xffff)) 37 #define byte(a) (((a) >> 24) & 0xff) 38 #define btol(a) ((a) << 24) 39 40 /* check for address wrap around */ 41 #define addrwrap(oaddr,newaddr) \ 42 (((oaddr)^(newaddr)) >> 24) 43 /* 44 * INSTACK tells whether its argument is a stack address. 45 * INUDOT tells whether its argument is in the (extended) u. area. 46 * These are used for consistency checking and dont have to be exact. 47 * 48 * INKERNEL tells whether its argument is a kernel space address. 49 * KVTOPH trims a kernel virtal address back to its offset 50 * in the kernel address space. 51 */ 52 #define INSTACK(x) (((int)(x)&0xf0000000) == 0xb0000000) 53 #define INUDOT(x) (((int)(x)&0xf0000000) == 0xb0000000) 54 #define INKERNEL(x) (((int)(x)&0xf0000000) == 0xc0000000) 55 56 #define KERNBASE 0xc0000000 57 #define KERNOFF (KERNBASE + 0x800) /* start of kernel's text */ 58 #define KVTOPH(x) ((x)&~ 0xc0000000) 59