|
|
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:
63: extern unsigned t_piggy;
64: #define T_PIGGY(flag, expr) ((t_piggy & (flag)) != 0 ? (void) (expr) : \
65: (void) 0)
66:
67: /*
68: * T_HAL() is for hal controlled tracing.
69: */
70:
71: extern unsigned t_hal;
72: #define T_HAL(flag, expr) ((t_hal & (flag)) != 0 ? (void) (expr) : \
73: (void) 0)
74:
75: /*
76: * T_VLAD() is for vlad controlled tracing.
77: */
78: extern unsigned t_vlad;
79: #define T_VLAD(flag, expr) ((t_vlad & (flag)) != 0 ? (void) (expr) : \
80: (void) 0)
81:
82: /*
83: * T_MSGQ() is for message queue controlled tracing.
84: */
85: extern unsigned t_msgq;
86: #define T_MSGQ(flag, expr) ((t_msgq & (flag)) != 0 ? (void) (expr) : \
87: (void) 0)
88:
89: /*
90: * SET_U_ERROR() is for error tracing.
91: */
92: extern unsigned t_errno;
93: #define SET_U_ERROR(errno, msg) \
94: (u.u_error = (errno), \
95: t_errno ? (void) printf ("u_error: %d: %s:\n", (errno), (msg)) : \
96: (void) 0)
97:
98: /*
99: * T_CON() is for video & keyboard tracing.
100: */
101: extern unsigned t_con;
102: #define T_CON(flag, expr) ((t_con & (flag)) != 0 ? (void) (expr) : \
103: (void) 0)
104:
105: /* DV(variable) displays: variable=.... */
106: #define DISP_VAR(v) (strchirp (" " #v "="), print32(v))
107: #define DV(v) T_PIGGY(0x400, DISP_VAR(v))
108:
109: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.