|
|
1.1 ! root 1: /* ! 2: * /usr/include/sys/mwc_coherent.h ! 3: * ! 4: * mwc_coherent.h is for kernel debugging definitions. ! 5: * ! 6: * Revised: Thu May 27 08:06:57 1993 CDT ! 7: */ ! 8: #ifndef __SYS_MWC_COHERENT_H__ ! 9: #define __SYS_MWC_COHERENT_H__ ! 10: ! 11: /* ! 12: * Control flags for tracing features. ! 13: * ! 14: * t_piggy bits: ! 15: * 0x0001 pexit() ! 16: * 0x0002 286 system calls ! 17: * 0x0004 386 system calls ! 18: * 0x0008 uioctl() ! 19: * 0x0020 ssread()/sswrite() in io.386/ss.c ! 20: * 0x0200 uread() in coh.386/sys3.c ! 21: * 0x0400 ssblock() in io.386/ss.c ! 22: * 0x1000 XP_DATA_IN/OUT in state machine in io.386/ss.c ! 23: * 0x10000 open() bad exit values in coh.386/sys3.c ! 24: * ! 25: * t_hal bits: ! 26: * 0x0001 TCSETA/TCSETAF/TCSETAW ioctl's ! 27: * 0x0002 TIOCSETP/TIOCSETN ioctl's ! 28: * 0x0004 al[01] verbose mode (see alx.c); asy devmsgs ! 29: * 0x0008 obrk() ! 30: * 0x0010 pipe open/read/write ! 31: * 0x0020 1= NO c_grow() calls; alx overruns ! 32: * 0x0040 monitor number of free clists ! 33: * 0x0080 '+' when asleep waiting for free clist ! 34: * 0x0100 trace c_grow() calls ! 35: * 0x0200 run check_slot() on alloc() and ubrk() ! 36: * 0x0400 async opens, closes, speed changes ! 37: * 0x0800 asy, all interrupts ! 38: * 0x1000 explanation of page faults ! 39: * 0x2000 ! 40: * 0x4000 all traps ! 41: * 0x8000 ubrk() ! 42: * ! 43: * 0x0001 0000 ! 44: * 0x0002 0000 ! 45: * ! 46: * t_vlad bits: ! 47: * 0x0001 ! 48: * 0x0002 fcntl ! 49: * ! 50: * t_errno - trace u.u_error settings ! 51: * t_con - trace console events ! 52: * ! 53: * t_msgq bits: ! 54: * 0x0001 memory alloc ! 55: * 0x0002 permissions ! 56: */ ! 57: ! 58: ! 59: /* ! 60: * T_PIGGY() is for piggy controlled tracing. ! 61: */ ! 62: extern unsigned t_piggy; ! 63: #define T_PIGGY(flag, command) { \ ! 64: if (t_piggy&flag) { \ ! 65: command; \ ! 66: } \ ! 67: } ! 68: ! 69: /* ! 70: * T_HAL() is for hal controlled tracing. ! 71: */ ! 72: extern unsigned t_hal; ! 73: #define T_HAL(flag, command) { \ ! 74: if (t_hal&flag) { \ ! 75: command; \ ! 76: } \ ! 77: } ! 78: ! 79: /* ! 80: * T_VLAD() is for vlad controlled tracing. ! 81: */ ! 82: extern unsigned t_vlad; ! 83: #define T_VLAD(flag, command) { \ ! 84: if (t_vlad&flag) { \ ! 85: command; \ ! 86: } \ ! 87: } ! 88: ! 89: /* ! 90: * T_MSGQ() is for message queue controlled tracing. ! 91: */ ! 92: extern unsigned t_msgq; ! 93: #define T_MSGQ(flag, command) { \ ! 94: if (t_msgq&flag) { \ ! 95: command; \ ! 96: } \ ! 97: } ! 98: ! 99: /* ! 100: * SET_U_ERROR() is for error tracing. ! 101: */ ! 102: extern unsigned t_errno; ! 103: #define SET_U_ERROR(errno, msg) { \ ! 104: u.u_error = (errno); \ ! 105: if (t_errno) { \ ! 106: printf("u_error: %d: %s\n", (errno), msg); \ ! 107: } \ ! 108: } ! 109: ! 110: /* ! 111: * T_CON() is for video & keyboard tracing. ! 112: */ ! 113: extern unsigned t_con; ! 114: #define T_CON(flag, command) { \ ! 115: if (t_con&flag) { \ ! 116: command; \ ! 117: } \ ! 118: } ! 119: ! 120: /* DV(variable) displays: variable=.... */ ! 121: #define DISP_VAR(v) { strchirp(" "#v"="); print32(v); } ! 122: #define DV(v) T_PIGGY(0x400, DISP_VAR(v)) ! 123: ! 124: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.