]> git.saurik.com Git - apple/xnu.git/blame - osfmk/mach/etap_events.h
xnu-344.21.73.tar.gz
[apple/xnu.git] / osfmk / mach / etap_events.h
CommitLineData
1c79356b
A
1/*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
d7e50217 6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
1c79356b 7 *
d7e50217
A
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1c79356b
A
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
d7e50217
A
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
1c79356b
A
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25/*
26 * @OSF_COPYRIGHT@
27 */
28/*
29 * File : etap_events.h
30 *
31 * Kernel trace event definitions
32 *
33 * Notes : If new trace event or subsystem definitions are added
34 * to this file, the appropriate tables in kern/etap.c MUST be
35 * updated for the ETAP package to recognize them.
36 *
37 */
38
39#ifndef _MACH_ETAP_EVENTS_H_
40#define _MACH_ETAP_EVENTS_H_
41
9bccf70c
A
42#include <sys/appleapiopts.h>
43
44#ifdef __APPLE_API_UNSTABLE
1c79356b
A
45
46/* ============================
47 * ETAP Subsystem Definitions
48 * ============================
49 */
50
51#define ETAP_SUBS_PROBE 0x0000 /* must be zero */
52
53#define ETAP_SUBS_LOCK_VM 0x0100
54#define ETAP_SUBS_LOCK_IPC 0x0200
55#define ETAP_SUBS_LOCK_IO 0x0300
56#define ETAP_SUBS_LOCK_THREAD 0x0400
57#define ETAP_SUBS_LOCK_NET 0x0500
58#define ETAP_SUBS_LOCK_NORMA 0x0600
59#define ETAP_SUBS_LOCK_DIPC 0x0700
60#define ETAP_SUBS_LOCK_KKT 0x0800
61#define ETAP_SUBS_LOCK_XKERNEL 0x0900
62#define ETAP_SUBS_LOCK_MISC 0x0a00
63
64#define ETAP_NO_TRACE 0x0fff /* never traced */
65
66
67/* =======================
68 * Lock Event Definitions
69 * =======================
70 */
71
72#define ETAP_VM_BUCKET (ETAP_SUBS_LOCK_VM + 1)
73#define ETAP_VM_HIMEM (ETAP_SUBS_LOCK_VM + 2)
74#define ETAP_VM_MAP (ETAP_SUBS_LOCK_VM + 3)
75#define ETAP_VM_MAP_I (ETAP_SUBS_LOCK_VM + 4)
76#define ETAP_VM_MEMMAN (ETAP_SUBS_LOCK_VM + 5)
77#define ETAP_VM_MSYNC (ETAP_SUBS_LOCK_VM + 6)
78#define ETAP_VM_OBJ (ETAP_SUBS_LOCK_VM + 7)
79#define ETAP_VM_OBJ_CACHE (ETAP_SUBS_LOCK_VM + 8)
80#define ETAP_VM_PAGE_ALLOC (ETAP_SUBS_LOCK_VM + 9)
81#define ETAP_VM_PAGEOUT (ETAP_SUBS_LOCK_VM + 10)
82#define ETAP_VM_PAGEQ (ETAP_SUBS_LOCK_VM + 11)
83#define ETAP_VM_PAGEQ_FREE (ETAP_SUBS_LOCK_VM + 12)
84#define ETAP_VM_PMAP (ETAP_SUBS_LOCK_VM + 13)
85#define ETAP_VM_PMAP_CACHE (ETAP_SUBS_LOCK_VM + 14)
86#define ETAP_VM_PMAP_FREE (ETAP_SUBS_LOCK_VM + 15)
87#define ETAP_VM_PMAP_KERNEL (ETAP_SUBS_LOCK_VM + 16)
88#define ETAP_VM_PMAP_SYS (ETAP_SUBS_LOCK_VM + 17)
89#define ETAP_VM_PMAP_SYS_I (ETAP_SUBS_LOCK_VM + 18)
90#define ETAP_VM_PMAP_UPDATE (ETAP_SUBS_LOCK_VM + 19)
91#define ETAP_VM_PREPPIN (ETAP_SUBS_LOCK_VM + 20)
92#define ETAP_VM_RESULT (ETAP_SUBS_LOCK_VM + 21)
93#define ETAP_VM_TEST (ETAP_SUBS_LOCK_VM + 22)
94#define ETAP_VM_PMAP_PHYSENTRIES (ETAP_SUBS_LOCK_VM + 23)
95#define ETAP_VM_PMAP_SID (ETAP_SUBS_LOCK_VM + 24)
96#define ETAP_VM_PMAP_PTE (ETAP_SUBS_LOCK_VM + 25)
97#define ETAP_VM_PMAP_PTE_OVFLW (ETAP_SUBS_LOCK_VM + 26)
98#define ETAP_VM_PMAP_TLB (ETAP_SUBS_LOCK_VM + 27)
99
100#define ETAP_IPC_IHGB (ETAP_SUBS_LOCK_IPC + 1)
101#define ETAP_IPC_IS (ETAP_SUBS_LOCK_IPC + 2)
102#define ETAP_IPC_IS_REF (ETAP_SUBS_LOCK_IPC + 3)
103#define ETAP_IPC_MQUEUE (ETAP_SUBS_LOCK_IPC + 4)
104#define ETAP_IPC_OBJECT (ETAP_SUBS_LOCK_IPC + 5)
105#define ETAP_IPC_PORT_MULT (ETAP_SUBS_LOCK_IPC + 6)
106#define ETAP_IPC_PORT_TIME (ETAP_SUBS_LOCK_IPC + 7)
107#define ETAP_IPC_RPC (ETAP_SUBS_LOCK_IPC + 8)
108#define ETAP_IPC_PORT_ALLOCQ (ETAP_SUBS_LOCK_IPC + 9)
109
110#define ETAP_IO_AHA (ETAP_SUBS_LOCK_IO + 1)
111#define ETAP_IO_CHIP (ETAP_SUBS_LOCK_IO + 2)
112#define ETAP_IO_DEV (ETAP_SUBS_LOCK_IO + 3)
113#define ETAP_IO_DEV_NUM (ETAP_SUBS_LOCK_IO + 4)
114#define ETAP_IO_DEV_PAGEH (ETAP_SUBS_LOCK_IO + 5)
115#define ETAP_IO_DEV_PAGER (ETAP_SUBS_LOCK_IO + 6)
116#define ETAP_IO_DEV_PORT (ETAP_SUBS_LOCK_IO + 7)
117#define ETAP_IO_DEV_REF (ETAP_SUBS_LOCK_IO + 8)
118#define ETAP_IO_DEVINS (ETAP_SUBS_LOCK_IO + 9)
119#define ETAP_IO_DONE_LIST (ETAP_SUBS_LOCK_IO + 10)
120#define ETAP_IO_DONE_Q (ETAP_SUBS_LOCK_IO + 11)
121#define ETAP_IO_DONE_REF (ETAP_SUBS_LOCK_IO + 12)
122#define ETAP_IO_EAHA (ETAP_SUBS_LOCK_IO + 13)
123#define ETAP_IO_HD_PROBE (ETAP_SUBS_LOCK_IO + 14)
124#define ETAP_IO_IHGB (ETAP_SUBS_LOCK_IO + 15)
125#define ETAP_IO_IOPB (ETAP_SUBS_LOCK_IO + 16)
126#define ETAP_IO_KDQ (ETAP_SUBS_LOCK_IO + 17)
127#define ETAP_IO_KDTTY (ETAP_SUBS_LOCK_IO + 18)
128#define ETAP_IO_REQ (ETAP_SUBS_LOCK_IO + 19)
129#define ETAP_IO_TARGET (ETAP_SUBS_LOCK_IO + 20)
130#define ETAP_IO_TTY (ETAP_SUBS_LOCK_IO + 21)
131#define ETAP_IO_IOP_LOCK (ETAP_SUBS_LOCK_IO + 22)
132#define ETAP_IO_DEV_NAME (ETAP_SUBS_LOCK_IO + 23)
133#define ETAP_IO_CDLI (ETAP_SUBS_LOCK_IO + 24)
134#define ETAP_IO_HIPPI_FILTER (ETAP_SUBS_LOCK_IO + 25)
135#define ETAP_IO_HIPPI_SRC (ETAP_SUBS_LOCK_IO + 26)
136#define ETAP_IO_HIPPI_DST (ETAP_SUBS_LOCK_IO + 27)
137#define ETAP_IO_HIPPI_PKT (ETAP_SUBS_LOCK_IO + 28)
138#define ETAP_IO_NOTIFY (ETAP_SUBS_LOCK_IO + 29)
139#define ETAP_IO_DATADEV (ETAP_SUBS_LOCK_IO + 30)
140#define ETAP_IO_OPEN (ETAP_SUBS_LOCK_IO + 31)
141#define ETAP_IO_OPEN_I (ETAP_SUBS_LOCK_IO + 32)
142#define ETAP_IO_UNDREPLY (ETAP_SUBS_LOCK_IO + 33)
143
144#define ETAP_THREAD_ACT (ETAP_SUBS_LOCK_THREAD + 1)
145#define ETAP_THREAD_ACTION (ETAP_SUBS_LOCK_THREAD + 2)
146#define ETAP_THREAD_LOCK (ETAP_SUBS_LOCK_THREAD + 3)
147#define ETAP_THREAD_LOCK_SET (ETAP_SUBS_LOCK_THREAD + 4)
148#define ETAP_THREAD_NEW (ETAP_SUBS_LOCK_THREAD + 5)
149#define ETAP_THREAD_PSET (ETAP_SUBS_LOCK_THREAD + 6)
150#define ETAP_THREAD_PSET_ALL (ETAP_SUBS_LOCK_THREAD + 7)
151#define ETAP_THREAD_PSET_RUNQ (ETAP_SUBS_LOCK_THREAD + 8)
152#define ETAP_THREAD_PSET_IDLE (ETAP_SUBS_LOCK_THREAD + 9)
153#define ETAP_THREAD_PSET_QUANT (ETAP_SUBS_LOCK_THREAD + 10)
154#define ETAP_THREAD_PROC (ETAP_SUBS_LOCK_THREAD + 11)
155#define ETAP_THREAD_PROC_RUNQ (ETAP_SUBS_LOCK_THREAD + 12)
156#define ETAP_THREAD_REAPER (ETAP_SUBS_LOCK_THREAD + 13)
157#define ETAP_THREAD_RPC (ETAP_SUBS_LOCK_THREAD + 14)
158#define ETAP_THREAD_REM_RPC (ETAP_SUBS_LOCK_THREAD + 15)
159#define ETAP_THREAD_SEMA (ETAP_SUBS_LOCK_THREAD + 16)
160#define ETAP_THREAD_STACK (ETAP_SUBS_LOCK_THREAD + 17)
161#define ETAP_THREAD_STACK_USAGE (ETAP_SUBS_LOCK_THREAD + 18)
162#define ETAP_THREAD_TASK_NEW (ETAP_SUBS_LOCK_THREAD + 19)
163#define ETAP_THREAD_TASK_ITK (ETAP_SUBS_LOCK_THREAD + 20)
164#define ETAP_THREAD_ULOCK (ETAP_SUBS_LOCK_THREAD + 21)
165#define ETAP_THREAD_WAIT (ETAP_SUBS_LOCK_THREAD + 22)
166#define ETAP_THREAD_WAKE (ETAP_SUBS_LOCK_THREAD + 23)
167#define ETAP_THREAD_ACT_LIST (ETAP_SUBS_LOCK_THREAD + 24)
168#define ETAP_THREAD_TASK_SWAP (ETAP_SUBS_LOCK_THREAD + 25)
169#define ETAP_THREAD_TASK_SWAPOUT (ETAP_SUBS_LOCK_THREAD + 26)
170#define ETAP_THREAD_SWAPPER (ETAP_SUBS_LOCK_THREAD + 27)
171
172#define ETAP_NET_IFQ (ETAP_SUBS_LOCK_NET + 1)
173#define ETAP_NET_KMSG (ETAP_SUBS_LOCK_NET + 2)
174#define ETAP_NET_MBUF (ETAP_SUBS_LOCK_NET + 3)
175#define ETAP_NET_POOL (ETAP_SUBS_LOCK_NET + 4)
176#define ETAP_NET_Q (ETAP_SUBS_LOCK_NET + 5)
177#define ETAP_NET_QFREE (ETAP_SUBS_LOCK_NET + 6)
178#define ETAP_NET_RCV (ETAP_SUBS_LOCK_NET + 7)
179#define ETAP_NET_RCV_PLIST (ETAP_SUBS_LOCK_NET + 8)
180#define ETAP_NET_THREAD (ETAP_SUBS_LOCK_NET + 9)
181
182#define ETAP_NORMA_XMM (ETAP_SUBS_LOCK_NORMA + 1)
183#define ETAP_NORMA_XMMOBJ (ETAP_SUBS_LOCK_NORMA + 2)
184#define ETAP_NORMA_XMMCACHE (ETAP_SUBS_LOCK_NORMA + 3)
185#define ETAP_NORMA_MP (ETAP_SUBS_LOCK_NORMA + 4)
186#define ETAP_NORMA_VOR (ETAP_SUBS_LOCK_NORMA + 5)
187#define ETAP_NORMA_TASK (ETAP_SUBS_LOCK_NORMA + 6)
188
189#define ETAP_DIPC_CLEANUP (ETAP_SUBS_LOCK_DIPC + 1)
190#define ETAP_DIPC_MSG_PROG (ETAP_SUBS_LOCK_DIPC + 2)
191#define ETAP_DIPC_PREP_QUEUE (ETAP_SUBS_LOCK_DIPC + 3)
192#define ETAP_DIPC_PREP_FILL (ETAP_SUBS_LOCK_DIPC + 4)
193#define ETAP_DIPC_MIGRATE (ETAP_SUBS_LOCK_DIPC + 5)
194#define ETAP_DIPC_DELIVER (ETAP_SUBS_LOCK_DIPC + 6)
195#define ETAP_DIPC_RECV_SYNC (ETAP_SUBS_LOCK_DIPC + 7)
196#define ETAP_DIPC_RPC (ETAP_SUBS_LOCK_DIPC + 8)
197#define ETAP_DIPC_MSG_REQ (ETAP_SUBS_LOCK_DIPC + 9)
198#define ETAP_DIPC_MSG_ORDER (ETAP_SUBS_LOCK_DIPC + 10)
199#define ETAP_DIPC_MSG_PREPQ (ETAP_SUBS_LOCK_DIPC + 11)
200#define ETAP_DIPC_MSG_FREE (ETAP_SUBS_LOCK_DIPC + 12)
201#define ETAP_DIPC_KMSG_AST (ETAP_SUBS_LOCK_DIPC + 13)
202#define ETAP_DIPC_TEST_LOCK (ETAP_SUBS_LOCK_DIPC + 14)
203#define ETAP_DIPC_SPINLOCK (ETAP_SUBS_LOCK_DIPC + 15)
204#define ETAP_DIPC_TRACE (ETAP_SUBS_LOCK_DIPC + 16)
205#define ETAP_DIPC_REQ_CALLBACK (ETAP_SUBS_LOCK_DIPC + 17)
206#define ETAP_DIPC_PORT_NAME (ETAP_SUBS_LOCK_DIPC + 18)
207#define ETAP_DIPC_RESTART_PORT (ETAP_SUBS_LOCK_DIPC + 19)
208#define ETAP_DIPC_ZERO_PAGE (ETAP_SUBS_LOCK_DIPC + 20)
209#define ETAP_DIPC_BLOCKED_NODE (ETAP_SUBS_LOCK_DIPC + 21)
210#define ETAP_DIPC_TIMER (ETAP_SUBS_LOCK_DIPC + 22)
211#define ETAP_DIPC_SPECIAL_PORT (ETAP_SUBS_LOCK_DIPC + 23)
212
213#define ETAP_KKT_TEST_WORK (ETAP_SUBS_LOCK_KKT + 1)
214#define ETAP_KKT_TEST_MP (ETAP_SUBS_LOCK_KKT + 2)
215#define ETAP_KKT_NODE (ETAP_SUBS_LOCK_KKT + 3)
216#define ETAP_KKT_CHANNEL_LIST (ETAP_SUBS_LOCK_KKT + 4)
217#define ETAP_KKT_CHANNEL (ETAP_SUBS_LOCK_KKT + 5)
218#define ETAP_KKT_HANDLE (ETAP_SUBS_LOCK_KKT + 6)
219#define ETAP_KKT_MAP (ETAP_SUBS_LOCK_KKT + 7)
220#define ETAP_KKT_RESOURCE (ETAP_SUBS_LOCK_KKT + 8)
221
222#define ETAP_XKERNEL_MASTER (ETAP_SUBS_LOCK_XKERNEL + 1)
223#define ETAP_XKERNEL_EVENT (ETAP_SUBS_LOCK_XKERNEL + 2)
224#define ETAP_XKERNEL_ETHINPUT (ETAP_SUBS_LOCK_XKERNEL + 3)
225
226#define ETAP_MISC_AST (ETAP_SUBS_LOCK_MISC + 1)
227#define ETAP_MISC_CLOCK (ETAP_SUBS_LOCK_MISC + 2)
228#define ETAP_MISC_EMULATE (ETAP_SUBS_LOCK_MISC + 3)
229#define ETAP_MISC_EVENT (ETAP_SUBS_LOCK_MISC + 4)
230#define ETAP_MISC_KDB (ETAP_SUBS_LOCK_MISC + 5)
231#define ETAP_MISC_PCB (ETAP_SUBS_LOCK_MISC + 6)
232#define ETAP_MISC_PRINTF (ETAP_SUBS_LOCK_MISC + 7)
233#define ETAP_MISC_Q (ETAP_SUBS_LOCK_MISC + 8)
234#define ETAP_MISC_RPC_SUBSYS (ETAP_SUBS_LOCK_MISC + 9)
235#define ETAP_MISC_RT_CLOCK (ETAP_SUBS_LOCK_MISC + 10)
236#define ETAP_MISC_SD_POOL (ETAP_SUBS_LOCK_MISC + 11)
237#define ETAP_MISC_TIMER (ETAP_SUBS_LOCK_MISC + 12)
238#define ETAP_MISC_UTIME (ETAP_SUBS_LOCK_MISC + 13)
239#define ETAP_MISC_XPR (ETAP_SUBS_LOCK_MISC + 14)
240#define ETAP_MISC_ZONE (ETAP_SUBS_LOCK_MISC + 15)
241#define ETAP_MISC_ZONE_ALL (ETAP_SUBS_LOCK_MISC + 16)
242#define ETAP_MISC_ZONE_GET (ETAP_SUBS_LOCK_MISC + 17)
243#define ETAP_MISC_ZONE_PTABLE (ETAP_SUBS_LOCK_MISC + 18)
244#define ETAP_MISC_LEDGER (ETAP_SUBS_LOCK_MISC + 19)
245#define ETAP_MISC_SCSIT_TGT (ETAP_SUBS_LOCK_MISC + 20)
246#define ETAP_MISC_SCSIT_SELF (ETAP_SUBS_LOCK_MISC + 21)
247#define ETAP_MISC_SPL (ETAP_SUBS_LOCK_MISC + 22) /* i860 */
248#define ETAP_MISC_MASTER (ETAP_SUBS_LOCK_MISC + 23) /* i860 */
249#define ETAP_MISC_FLOAT (ETAP_SUBS_LOCK_MISC + 24) /* i860 */
250#define ETAP_MISC_GROUP (ETAP_SUBS_LOCK_MISC + 25) /* i860 */
251#define ETAP_MISC_FLIPC (ETAP_SUBS_LOCK_MISC + 26)
252#define ETAP_MISC_MP_IO (ETAP_SUBS_LOCK_MISC + 27)
253#define ETAP_MISC_KERNEL_TEST (ETAP_SUBS_LOCK_MISC + 28)
254#define ETAP_MISC_TIMER_LOCK (ETAP_SUBS_LOCK_MISC + 29)
255#define ETAP_MISC_POST (ETAP_SUBS_LOCK_MISC + 30) /* i860 */
256#define ETAP_MISC_KERNLOG (ETAP_SUBS_LOCK_MISC + 31) /* Alpha */
257#define ETAP_DPAGE_BS (ETAP_SUBS_LOCK_MISC + 32) /* def pager */
258#define ETAP_DPAGE_BSL (ETAP_SUBS_LOCK_MISC + 33) /* def pager */
259#define ETAP_DPAGE_SEGMENT (ETAP_SUBS_LOCK_MISC + 34) /* def pager */
260#define ETAP_DPAGE_SEGLIST (ETAP_SUBS_LOCK_MISC + 35) /* def pager */
261#define ETAP_DPAGE_VSTRUCT (ETAP_SUBS_LOCK_MISC + 36) /* def pager */
262#define ETAP_DPAGE_VSMAP (ETAP_SUBS_LOCK_MISC + 37) /* def pager */
263#define ETAP_DPAGE_VSLIST (ETAP_SUBS_LOCK_MISC + 38) /* def pager */
264#define ETAP_DPAGE_VSSEQNO (ETAP_SUBS_LOCK_MISC + 39) /* def pager */
265#define ETAP_DPAGE_VSREAD (ETAP_SUBS_LOCK_MISC + 40) /* def pager */
266#define ETAP_DPAGE_VSWRITE (ETAP_SUBS_LOCK_MISC + 41) /* def pager */
267#define ETAP_DPAGE_VSREFS (ETAP_SUBS_LOCK_MISC + 42) /* def pager */
268#define ETAP_DPAGE_VSASYNC (ETAP_SUBS_LOCK_MISC + 43) /* def pager */
269
270/* ==========================
271 * System Probe Definitions
272 * ==========================
273 */
274/* probes 0-31 reserved for non-MK (e.g. users and servers) */
275#define ETAP_USER_BASE 0
276#define ETAP_USER_NEVENTS 32
277
278#define ETAP_P_USER_EVENT0 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 0)
279#define ETAP_P_USER_EVENT1 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 1)
280#define ETAP_P_USER_EVENT2 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 2)
281#define ETAP_P_USER_EVENT3 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 3)
282#define ETAP_P_USER_EVENT4 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 4)
283#define ETAP_P_USER_EVENT5 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 5)
284#define ETAP_P_USER_EVENT6 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 6)
285#define ETAP_P_USER_EVENT7 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 7)
286#define ETAP_P_USER_EVENT8 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 8)
287#define ETAP_P_USER_EVENT9 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 9)
288#define ETAP_P_USER_EVENT10 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 10)
289#define ETAP_P_USER_EVENT11 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 11)
290#define ETAP_P_USER_EVENT12 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 12)
291#define ETAP_P_USER_EVENT13 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 13)
292#define ETAP_P_USER_EVENT14 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 14)
293#define ETAP_P_USER_EVENT15 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 15)
294#define ETAP_P_USER_EVENT16 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 16)
295#define ETAP_P_USER_EVENT17 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 17)
296#define ETAP_P_USER_EVENT18 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 18)
297#define ETAP_P_USER_EVENT19 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 19)
298#define ETAP_P_USER_EVENT20 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 20)
299#define ETAP_P_USER_EVENT21 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 21)
300#define ETAP_P_USER_EVENT22 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 22)
301#define ETAP_P_USER_EVENT23 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 23)
302#define ETAP_P_USER_EVENT24 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 24)
303#define ETAP_P_USER_EVENT25 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 25)
304#define ETAP_P_USER_EVENT26 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 26)
305#define ETAP_P_USER_EVENT27 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 27)
306#define ETAP_P_USER_EVENT28 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 28)
307#define ETAP_P_USER_EVENT29 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 29)
308#define ETAP_P_USER_EVENT30 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 30)
309#define ETAP_P_USER_EVENT31 (ETAP_SUBS_PROBE + ETAP_USER_BASE + 31)
310
311/* probes 32-63 reserved for MK */
312#define ETAP_SYS_BASE 32
313
314#define ETAP_P_SYSCALL_MACH (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 0)
315#define ETAP_P_SYSCALL_UNIX (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 1)
316#define ETAP_P_THREAD_LIFE (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 2)
317#define ETAP_P_THREAD_CTX (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 3)
318#define ETAP_P_RPC (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 4)
319#define ETAP_P_INTERRUPT (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 5)
320#define ETAP_P_ACT_ABORT (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 6)
321#define ETAP_P_PRIORITY (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 7)
322#define ETAP_P_EXCEPTION (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 8)
323#define ETAP_P_DEPRESSION (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 9)
324#define ETAP_P_MISC (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 10)
325#define ETAP_P_DETAP (ETAP_SUBS_PROBE + ETAP_SYS_BASE + 11)
326
9bccf70c
A
327#endif /* __APPLE_API_UNSTABLE */
328
329#ifdef __APPLE_API_OBSOLETE
1c79356b
A
330/* ===========================
331 * ETAP Thread block reasons
332 * ===========================
333 */
334
335#define BLOCKED_ON_UNDEFINED 0
336#define BLOCKED_ON_CLEAR 0
337
338#define BLOCKED_ON_SEMAPHORE 1
339#define BLOCKED_ON_LOCK 2
340#define BLOCKED_ON_LOCK_HANDOFF 3
341#define BLOCKED_ON_MUTEX_LOCK 4
342#define BLOCKED_ON_COMPLEX_LOCK 5
343#define BLOCKED_ON_PORT_RCV 6
344#define BLOCKED_ON_REAPER_DONE 7
345#define BLOCKED_ON_IDLE_DONE 8
346#define BLOCKED_ON_TERMINATION 9
9bccf70c
A
347
348#endif /* __APPLE_API_OBSOLETE */
349
1c79356b 350#endif /* _MACH_ETAP_EVENTS_H_ */