]>
Commit | Line | Data |
---|---|---|
2d21ac55 | 1 | /* |
0a7de745 | 2 | * Copyright (c) 2007-2019 Apple Inc. All rights reserved. |
2d21ac55 A |
3 | */ |
4 | /* | |
5 | * CDDL HEADER START | |
6 | * | |
7 | * The contents of this file are subject to the terms of the | |
8 | * Common Development and Distribution License, Version 1.0 only | |
9 | * (the "License"). You may not use this file except in compliance | |
10 | * with the License. | |
11 | * | |
12 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
13 | * or http://www.opensolaris.org/os/licensing. | |
14 | * See the License for the specific language governing permissions | |
15 | * and limitations under the License. | |
16 | * | |
17 | * When distributing Covered Code, include this CDDL HEADER in each | |
18 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
19 | * If applicable, add the following below this CDDL HEADER, with the | |
20 | * fields enclosed by brackets "[]" replaced with your own identifying | |
21 | * information: Portions Copyright [yyyy] [name of copyright owner] | |
22 | * | |
23 | * CDDL HEADER END | |
24 | */ | |
25 | /* | |
26 | * Copyright 2004 Sun Microsystems, Inc. All rights reserved. | |
27 | * Use is subject to license terms. | |
28 | */ | |
29 | ||
30 | #ifndef _MACH_MACHINE_SYS_SDT_H | |
0a7de745 | 31 | #define _MACH_MACHINE_SYS_SDT_H |
2d21ac55 A |
32 | |
33 | #include <mach/machine/sdt_isa.h> | |
34 | ||
b0d623f7 A |
35 | #ifdef KERNEL |
36 | ||
37 | #if CONFIG_DTRACE | |
38 | ||
2d21ac55 A |
39 | /* |
40 | * The following macros are used to create static probes. The argument types | |
41 | * should be no greater than uintptr_t in size each. The behavior of larger | |
42 | * types is undefined. | |
43 | */ | |
44 | ||
0a7de745 A |
45 | #define DTRACE_PROBE(provider, name) { \ |
46 | DTRACE_CALL0ARGS(provider, name) \ | |
2d21ac55 A |
47 | } |
48 | ||
0a7de745 A |
49 | #define DTRACE_PROBE1(provider, name, arg0) { \ |
50 | uintptr_t __dtrace_args[ARG1_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 | 51 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
0a7de745 | 52 | DTRACE_CALL1ARG(provider, name) \ |
2d21ac55 A |
53 | } |
54 | ||
0a7de745 A |
55 | #define DTRACE_PROBE2(provider, name, arg0, arg1) { \ |
56 | uintptr_t __dtrace_args[ARGS2_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
57 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
58 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
0a7de745 | 59 | DTRACE_CALL2ARGS(provider, name) \ |
2d21ac55 A |
60 | } |
61 | ||
0a7de745 A |
62 | #define DTRACE_PROBE3(provider, name, arg0, arg1, arg2) { \ |
63 | uintptr_t __dtrace_args[ARGS3_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
64 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
65 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
66 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
0a7de745 | 67 | DTRACE_CALL3ARGS(provider, name) \ |
2d21ac55 A |
68 | } |
69 | ||
0a7de745 A |
70 | #define DTRACE_PROBE4(provider, name, arg0, arg1, arg2, arg3) { \ |
71 | uintptr_t __dtrace_args[ARGS4_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
72 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
73 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
74 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
75 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
0a7de745 | 76 | DTRACE_CALL4ARGS(provider, name) \ |
2d21ac55 A |
77 | } |
78 | ||
0a7de745 A |
79 | #define DTRACE_PROBE5(provider, name, arg0, arg1, arg2, arg3, arg4) { \ |
80 | uintptr_t __dtrace_args[ARGS5_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
81 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
82 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
83 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
84 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
85 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
0a7de745 | 86 | DTRACE_CALL5ARGS(provider, name) \ |
2d21ac55 A |
87 | } |
88 | ||
0a7de745 A |
89 | #define DTRACE_PROBE6(provider, name, arg0, arg1, arg2, arg3, arg4, arg5) { \ |
90 | uintptr_t __dtrace_args[ARGS6_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
91 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
92 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
93 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
94 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
95 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
96 | __dtrace_args[5] = (uintptr_t)(arg5); \ | |
0a7de745 | 97 | DTRACE_CALL6ARGS(provider, name) \ |
2d21ac55 A |
98 | } |
99 | ||
0a7de745 A |
100 | #define DTRACE_PROBE7(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6) { \ |
101 | uintptr_t __dtrace_args[ARGS7_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
102 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
103 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
104 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
105 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
106 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
107 | __dtrace_args[5] = (uintptr_t)(arg5); \ | |
108 | __dtrace_args[6] = (uintptr_t)(arg6); \ | |
0a7de745 | 109 | DTRACE_CALL7ARGS(provider, name) \ |
2d21ac55 A |
110 | } |
111 | ||
0a7de745 A |
112 | #define DTRACE_PROBE8(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { \ |
113 | uintptr_t __dtrace_args[ARGS8_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
114 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
115 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
116 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
117 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
118 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
119 | __dtrace_args[5] = (uintptr_t)(arg5); \ | |
120 | __dtrace_args[6] = (uintptr_t)(arg6); \ | |
121 | __dtrace_args[7] = (uintptr_t)(arg7); \ | |
0a7de745 | 122 | DTRACE_CALL8ARGS(provider, name) \ |
2d21ac55 A |
123 | } |
124 | ||
0a7de745 A |
125 | #define DTRACE_PROBE9(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { \ |
126 | uintptr_t __dtrace_args[ARGS9_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
127 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
128 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
129 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
130 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
131 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
132 | __dtrace_args[5] = (uintptr_t)(arg5); \ | |
133 | __dtrace_args[6] = (uintptr_t)(arg6); \ | |
134 | __dtrace_args[7] = (uintptr_t)(arg7); \ | |
135 | __dtrace_args[8] = (uintptr_t)(arg8); \ | |
0a7de745 | 136 | DTRACE_CALL9ARGS(provider, name) \ |
2d21ac55 A |
137 | } |
138 | ||
0a7de745 A |
139 | #define DTRACE_PROBE10(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { \ |
140 | uintptr_t __dtrace_args[ARGS10_EXTENT] __attribute__ ((aligned (16))); \ | |
cb323159 A |
141 | __dtrace_args[0] = (uintptr_t)(arg0); \ |
142 | __dtrace_args[1] = (uintptr_t)(arg1); \ | |
143 | __dtrace_args[2] = (uintptr_t)(arg2); \ | |
144 | __dtrace_args[3] = (uintptr_t)(arg3); \ | |
145 | __dtrace_args[4] = (uintptr_t)(arg4); \ | |
146 | __dtrace_args[5] = (uintptr_t)(arg5); \ | |
147 | __dtrace_args[6] = (uintptr_t)(arg6); \ | |
148 | __dtrace_args[7] = (uintptr_t)(arg7); \ | |
149 | __dtrace_args[8] = (uintptr_t)(arg8); \ | |
150 | __dtrace_args[9] = (uintptr_t)(arg9); \ | |
0a7de745 | 151 | DTRACE_CALL10ARGS(provider, name) \ |
2d21ac55 A |
152 | } |
153 | ||
39037602 A |
154 | #else |
155 | #define DTRACE_PROBE(provider, name) do {} while(0) | |
156 | #define DTRACE_PROBE1(provider, name, arg0) do {} while(0) | |
157 | #define DTRACE_PROBE2(provider, name, arg0, arg1) do {} while(0) | |
158 | #define DTRACE_PROBE3(provider, name, arg0, arg1, arg2) do {} while(0) | |
159 | #define DTRACE_PROBE4(provider, name, arg0, arg1, arg2, arg3) do {} while(0) | |
160 | #define DTRACE_PROBE5(provider, name, arg0, arg1, arg2, arg3, arg4) do {} while(0) | |
161 | #define DTRACE_PROBE6(provider, name, arg0, arg1, arg2, arg3, arg4, arg5) do {} while(0) | |
162 | #define DTRACE_PROBE7(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6) do {} while(0) | |
163 | #define DTRACE_PROBE8(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) do {} while(0) | |
164 | #define DTRACE_PROBE9(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) do {} while(0) | |
165 | #define DTRACE_PROBE10(provider, name, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) do {} while(0) | |
2d21ac55 | 166 | |
39037602 | 167 | #endif /* CONFIG_DTRACE */ |
2d21ac55 | 168 | |
0a7de745 | 169 | #define DTRACE_SCHED(name) \ |
2d21ac55 A |
170 | DTRACE_PROBE(__sched_, name); |
171 | ||
0a7de745 | 172 | #define DTRACE_SCHED1(name, type1, arg1) \ |
2d21ac55 A |
173 | DTRACE_PROBE1(__sched_, name, arg1); |
174 | ||
0a7de745 | 175 | #define DTRACE_SCHED2(name, type1, arg1, type2, arg2) \ |
2d21ac55 A |
176 | DTRACE_PROBE2(__sched_, name, arg1, arg2); |
177 | ||
0a7de745 | 178 | #define DTRACE_SCHED3(name, type1, arg1, type2, arg2, type3, arg3) \ |
2d21ac55 A |
179 | DTRACE_PROBE3(__sched_, name, arg1, arg2, arg3); |
180 | ||
0a7de745 A |
181 | #define DTRACE_SCHED4(name, type1, arg1, type2, arg2, \ |
182 | type3, arg3, type4, arg4) \ | |
2d21ac55 A |
183 | DTRACE_PROBE4(__sched_, name, arg1, arg2, arg3, arg4); |
184 | ||
0a7de745 | 185 | #define DTRACE_PROC(name) \ |
2d21ac55 A |
186 | DTRACE_PROBE(__proc_, name); |
187 | ||
0a7de745 | 188 | #define DTRACE_PROC1(name, type1, arg1) \ |
2d21ac55 A |
189 | DTRACE_PROBE1(__proc_, name, arg1); |
190 | ||
0a7de745 | 191 | #define DTRACE_PROC2(name, type1, arg1, type2, arg2) \ |
2d21ac55 A |
192 | DTRACE_PROBE2(__proc_, name, arg1, arg2); |
193 | ||
0a7de745 | 194 | #define DTRACE_PROC3(name, type1, arg1, type2, arg2, type3, arg3) \ |
2d21ac55 A |
195 | DTRACE_PROBE3(__proc_, name, arg1, arg2, arg3); |
196 | ||
0a7de745 A |
197 | #define DTRACE_PROC4(name, type1, arg1, type2, arg2, \ |
198 | type3, arg3, type4, arg4) \ | |
2d21ac55 A |
199 | DTRACE_PROBE4(__proc_, name, arg1, arg2, arg3, arg4); |
200 | ||
0a7de745 | 201 | #define DTRACE_IO(name) \ |
2d21ac55 A |
202 | DTRACE_PROBE(__io_, name); |
203 | ||
0a7de745 | 204 | #define DTRACE_IO1(name, type1, arg1) \ |
2d21ac55 A |
205 | DTRACE_PROBE1(__io_, name, arg1); |
206 | ||
0a7de745 | 207 | #define DTRACE_IO2(name, type1, arg1, type2, arg2) \ |
39236c6e | 208 | DTRACE_PROBE2(__io_, name, arg1, arg2); |
2d21ac55 | 209 | |
0a7de745 | 210 | #define DTRACE_IO3(name, type1, arg1, type2, arg2, type3, arg3) \ |
2d21ac55 A |
211 | DTRACE_PROBE3(__io_, name, arg1, arg2, arg3); |
212 | ||
0a7de745 A |
213 | #define DTRACE_IO4(name, type1, arg1, type2, arg2, \ |
214 | type3, arg3, type4, arg4) \ | |
2d21ac55 A |
215 | DTRACE_PROBE4(__io_, name, arg1, arg2, arg3, arg4); |
216 | ||
0a7de745 A |
217 | #define DTRACE_INT5(name, type1, arg1, type2, arg2, \ |
218 | type3, arg3, type4, arg4, type5, arg5) \ | |
2d21ac55 A |
219 | DTRACE_PROBE5(__sdt_, name, arg1, arg2, arg3, arg4, arg5); |
220 | ||
0a7de745 | 221 | #define DTRACE_MEMORYSTATUS2(name, type1, arg1, type2, arg2) \ |
39037602 A |
222 | DTRACE_PROBE2(__sdt_, name, arg1, arg2); |
223 | ||
0a7de745 | 224 | #define DTRACE_MEMORYSTATUS3(name, type1, arg1, type2, arg2, type3, arg3) \ |
39037602 A |
225 | DTRACE_PROBE3(__sdt_, name, arg1, arg2, arg3); |
226 | ||
cb323159 A |
227 | #define DTRACE_MEMORYSTATUS4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4) \ |
228 | DTRACE_PROBE4(__sdt_, name, arg1, arg2, arg3, arg4); | |
229 | ||
0a7de745 A |
230 | #define DTRACE_MEMORYSTATUS6(name, type1, arg1, type2, arg2, \ |
231 | type3, arg3, type4, arg4, type5, arg5, type6, arg6) \ | |
39037602 A |
232 | DTRACE_PROBE6(__vminfo_, name, arg1, arg2, arg3, arg4, arg5, arg6) |
233 | ||
0a7de745 | 234 | #define DTRACE_TMR3(name, type1, arg1, type2, arg2, type3, arg3) \ |
2d21ac55 A |
235 | DTRACE_PROBE3(__sdt_, name, arg1, arg2, arg3); |
236 | ||
0a7de745 | 237 | #define DTRACE_TMR4(name, type1, arg1, arg2, arg3, arg4) \ |
4b17d6b6 A |
238 | DTRACE_PROBE4(__sdt_, name, arg1, arg2, arg3, arg4); |
239 | ||
0a7de745 | 240 | #define DTRACE_TMR5(name, type1, arg1, type2, arg2, type3, arg3, arg4, arg5) \ |
4b17d6b6 A |
241 | DTRACE_PROBE5(__sdt_, name, arg1, arg2, arg3, arg4, arg5); |
242 | ||
0a7de745 | 243 | #define DTRACE_TMR6(name, type1, arg1, type2, arg2, type3, arg3, arg4, arg5, arg6) \ |
4b17d6b6 A |
244 | DTRACE_PROBE6(__sdt_, name, arg1, arg2, arg3, arg4, arg5, arg6); |
245 | ||
0a7de745 | 246 | #define DTRACE_TMR7(name, type1, arg1, type2, arg2, type3, arg3, arg4, arg5, arg6, arg7) \ |
39236c6e A |
247 | DTRACE_PROBE7(__sdt_, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7); |
248 | ||
0a7de745 | 249 | #define DTRACE_PHYSLAT3(name, type1, arg1, type2, arg2, type3, arg3) \ |
3e170ce0 A |
250 | DTRACE_PROBE3(__sdt_, name, arg1, arg2, arg3); |
251 | ||
0a7de745 A |
252 | #define DTRACE_PHYSLAT4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4) \ |
253 | DTRACE_PROBE4(__sdt_, name, arg1, arg2, arg3, arg4); | |
254 | ||
255 | #define DTRACE_PHYSLAT5(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5) \ | |
256 | DTRACE_PROBE5(__sdt_, name, arg1, arg2, arg3, arg4, arg5); | |
257 | ||
258 | #define DTRACE_VM(name) \ | |
2d21ac55 A |
259 | DTRACE_PROBE(__vminfo_, name) |
260 | ||
0a7de745 | 261 | #define DTRACE_VM1(name, type1, arg1) \ |
2d21ac55 A |
262 | DTRACE_PROBE1(__vminfo_, name, arg1) |
263 | ||
0a7de745 | 264 | #define DTRACE_VM2(name, type1, arg1, type2, arg2) \ |
2d21ac55 A |
265 | DTRACE_PROBE2(__vminfo_, name, arg1, arg2) |
266 | ||
0a7de745 | 267 | #define DTRACE_VM3(name, type1, arg1, type2, arg2, type3, arg3) \ |
2d21ac55 A |
268 | DTRACE_PROBE3(__vminfo_, name, arg1, arg2, arg3) |
269 | ||
0a7de745 A |
270 | #define DTRACE_VM4(name, type1, arg1, type2, arg2, \ |
271 | type3, arg3, type4, arg4) \ | |
2d21ac55 A |
272 | DTRACE_PROBE4(__vminfo_, name, arg1, arg2, arg3, arg4) |
273 | ||
0a7de745 A |
274 | #define DTRACE_VM5(name, type1, arg1, type2, arg2, \ |
275 | type3, arg3, type4, arg4, type5, arg5) \ | |
3e170ce0 A |
276 | DTRACE_PROBE5(__vminfo_, name, arg1, arg2, arg3, arg4, arg5) |
277 | ||
0a7de745 A |
278 | #define DTRACE_VM6(name, type1, arg1, type2, arg2, \ |
279 | type3, arg3, type4, arg4, type5, arg5, type6, arg6) \ | |
39037602 A |
280 | DTRACE_PROBE6(__vminfo_, name, arg1, arg2, arg3, arg4, arg5, arg6) |
281 | ||
cb323159 A |
282 | #define DTRACE_VM7(name, type1, arg1, type2, arg2, \ |
283 | type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7) \ | |
284 | DTRACE_PROBE7(__vminfo_, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7) | |
285 | ||
0a7de745 | 286 | #define DTRACE_IP(name) \ |
6d2010ae A |
287 | DTRACE_PROBE(__ip_, name) |
288 | ||
0a7de745 | 289 | #define DTRACE_IP1(name, type1, arg1) \ |
6d2010ae A |
290 | DTRACE_PROBE1(__ip_, name, arg1) |
291 | ||
0a7de745 | 292 | #define DTRACE_IP2(name, type1, arg1, type2, arg2) \ |
6d2010ae A |
293 | DTRACE_PROBE2(__ip_, name, arg1, arg2) |
294 | ||
0a7de745 | 295 | #define DTRACE_IP3(name, type1, arg1, type2, arg2, type3, arg3) \ |
6d2010ae A |
296 | DTRACE_PROBE3(__ip_, name, arg1, arg2, arg3) |
297 | ||
0a7de745 A |
298 | #define DTRACE_IP4(name, type1, arg1, type2, arg2, \ |
299 | type3, arg3, type4, arg4) \ | |
6d2010ae A |
300 | DTRACE_PROBE4(__ip_, name, arg1, arg2, arg3, arg4) |
301 | ||
0a7de745 A |
302 | #define DTRACE_IP5(name, typ1, arg1, type2, arg2, type3, arg3, \ |
303 | type4, arg4, type5, arg5) \ | |
6d2010ae A |
304 | DTRACE_PROBE5(__ip_, name, arg1, arg2, arg3, arg4, arg5) |
305 | ||
0a7de745 A |
306 | #define DTRACE_IP6(name, type1, arg1, type2, arg2, type3, arg3, \ |
307 | type4, arg4, type5, arg5, type6, arg6) \ | |
6d2010ae A |
308 | DTRACE_PROBE6(__ip_, name, arg1, arg2, arg3, arg4, arg5, arg6) |
309 | ||
0a7de745 A |
310 | #define DTRACE_IP7(name, type1, arg1, type2, arg2, type3, arg3, \ |
311 | type4, arg4, type5, arg5, type6, arg6, type7, arg7) \ | |
6d2010ae A |
312 | DTRACE_PROBE7(__ip_, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7) |
313 | ||
cb323159 A |
314 | #define DTRACE_ROUTE(name) \ |
315 | DTRACE_PROBE(__route_, name) | |
316 | ||
317 | #define DTRACE_ROUTE1(name, type1, arg1) \ | |
318 | DTRACE_PROBE1(__route_, name, arg1) | |
319 | ||
320 | #define DTRACE_ROUTE2(name, type1, arg1, type2, arg2) \ | |
321 | DTRACE_PROBE2(__route_, name, arg1, arg2) | |
322 | ||
323 | #define DTRACE_ROUTE3(name, type1, arg1, type2, arg2, type3, arg3) \ | |
324 | DTRACE_PROBE3(__route_, name, arg1, arg2, arg3) | |
325 | ||
326 | #define DTRACE_ROUTE4(name, type1, arg1, type2, arg2, \ | |
327 | type3, arg3, type4, arg4) \ | |
328 | DTRACE_PROBE4(__route_, name, arg1, arg2, arg3, arg4) | |
329 | ||
330 | #define DTRACE_ROUTE5(name, typ1, arg1, type2, arg2, type3, arg3, \ | |
331 | type4, arg4, type5, arg5) \ | |
332 | DTRACE_PROBE5(__route_, name, arg1, arg2, arg3, arg4, arg5) | |
333 | ||
334 | #define DTRACE_ROUTE6(name, type1, arg1, type2, arg2, type3, arg3, \ | |
335 | type4, arg4, type5, arg5, type6, arg6) \ | |
336 | DTRACE_PROBE6(__route_, name, arg1, arg2, arg3, arg4, arg5, arg6) | |
337 | ||
338 | #define DTRACE_ROUTE7(name, type1, arg1, type2, arg2, type3, arg3, \ | |
339 | type4, arg4, type5, arg5, type6, arg6, type7, arg7) \ | |
340 | DTRACE_PROBE7(__route_, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7) | |
341 | ||
6d2010ae | 342 | #define DTRACE_TCP(name) \ |
0a7de745 | 343 | DTRACE_PROBE(__tcp_, name) |
6d2010ae A |
344 | |
345 | #define DTRACE_TCP1(name, type1, arg1) \ | |
0a7de745 | 346 | DTRACE_PROBE1(__tcp_, name, arg1) |
6d2010ae A |
347 | |
348 | #define DTRACE_TCP2(name, type1, arg1, type2, arg2) \ | |
0a7de745 | 349 | DTRACE_PROBE2(__tcp_, name, arg1, arg2) |
6d2010ae A |
350 | |
351 | #define DTRACE_TCP3(name, type1, arg1, type2, arg2, type3, arg3) \ | |
0a7de745 | 352 | DTRACE_PROBE3(__tcp_, name, arg1, arg2, arg3) |
6d2010ae A |
353 | |
354 | #define DTRACE_TCP4(name, type1, arg1, type2, arg2, \ | |
0a7de745 A |
355 | type3, arg3, type4, arg4) \ |
356 | DTRACE_PROBE4(__tcp_, name, arg1, arg2, arg3, arg4) | |
6d2010ae A |
357 | |
358 | #define DTRACE_TCP5(name, typ1, arg1, type2, arg2, type3, arg3, \ | |
0a7de745 A |
359 | type4, arg4, type5, arg5) \ |
360 | DTRACE_PROBE5(__tcp_, name, arg1, arg2, arg3, arg4, arg5) | |
6d2010ae | 361 | |
0a7de745 | 362 | #define DTRACE_MPTCP(name) \ |
39236c6e A |
363 | DTRACE_PROBE(__mptcp_, name) |
364 | ||
0a7de745 | 365 | #define DTRACE_MPTCP1(name, type1, arg1) \ |
39236c6e A |
366 | DTRACE_PROBE1(__mptcp_, name, arg1) |
367 | ||
0a7de745 | 368 | #define DTRACE_MPTCP2(name, type1, arg1, type2, arg2) \ |
39236c6e A |
369 | DTRACE_PROBE2(__mptcp_, name, arg1, arg2) |
370 | ||
0a7de745 | 371 | #define DTRACE_MPTCP3(name, type1, arg1, type2, arg2, type3, arg3) \ |
39236c6e A |
372 | DTRACE_PROBE3(__mptcp_, name, arg1, arg2, arg3) |
373 | ||
0a7de745 A |
374 | #define DTRACE_MPTCP4(name, type1, arg1, type2, arg2, \ |
375 | type3, arg3, type4, arg4) \ | |
39236c6e A |
376 | DTRACE_PROBE4(__mptcp_, name, arg1, arg2, arg3, arg4) |
377 | ||
0a7de745 A |
378 | #define DTRACE_MPTCP5(name, typ1, arg1, type2, arg2, type3, arg3, \ |
379 | type4, arg4, type5, arg5) \ | |
39236c6e A |
380 | DTRACE_PROBE5(__mptcp_, name, arg1, arg2, arg3, arg4, arg5) |
381 | ||
0a7de745 A |
382 | #define DTRACE_MPTCP6(name, typ1, arg1, type2, arg2, type3, arg3, \ |
383 | type4, arg4, type5, arg5, type6, arg6) \ | |
39236c6e A |
384 | DTRACE_PROBE6(__mptcp_, name, arg1, arg2, arg3, arg4, arg5, arg6) |
385 | ||
0a7de745 A |
386 | #define DTRACE_MPTCP7(name, typ1, arg1, type2, arg2, type3, arg3, \ |
387 | type4, arg4, type5, arg5, type6, arg6, \ | |
388 | type7, arg7) \ | |
389 | DTRACE_PROBE7(__mptcp_, name, arg1, arg2, arg3, arg4, arg5, \ | |
390 | arg6, arg7) | |
39236c6e | 391 | |
0a7de745 | 392 | #define DTRACE_FSINFO(name, type, vp) \ |
39236c6e A |
393 | DTRACE_PROBE1(__fsinfo_, name, vp) |
394 | ||
0a7de745 | 395 | #define DTRACE_FSINFO_IO(name, type1, vp, type2, size) \ |
39236c6e A |
396 | DTRACE_PROBE2(__fsinfo_, name, vp, size) |
397 | ||
0a7de745 | 398 | #define DTRACE_BOOST(name) \ |
39236c6e A |
399 | DTRACE_PROBE(__boost_, name); |
400 | ||
0a7de745 | 401 | #define DTRACE_BOOST1(name, type1, arg1) \ |
39236c6e A |
402 | DTRACE_PROBE1(__boost_, name, arg1); |
403 | ||
0a7de745 | 404 | #define DTRACE_BOOST2(name, type1, arg1, type2, arg2) \ |
39236c6e A |
405 | DTRACE_PROBE2(__boost_, name, arg1, arg2); |
406 | ||
0a7de745 | 407 | #define DTRACE_BOOST3(name, type1, arg1, type2, arg2, type3, arg3) \ |
39236c6e A |
408 | DTRACE_PROBE3(__boost_, name, arg1, arg2, arg3); |
409 | ||
0a7de745 A |
410 | #define DTRACE_BOOST4(name, type1, arg1, type2, arg2, \ |
411 | type3, arg3, type4, arg4) \ | |
39236c6e A |
412 | DTRACE_PROBE4(__boost_, name, arg1, arg2, arg3, arg4); |
413 | ||
0a7de745 A |
414 | #define DTRACE_BOOST5(name, type1, arg1, type2, arg2, \ |
415 | type3, arg3, type4, arg4, type5, arg5) \ | |
39236c6e A |
416 | DTRACE_PROBE5(__boost_, name, arg1, arg2, arg3, arg4, arg5); |
417 | ||
0a7de745 A |
418 | #define DTRACE_BOOST6(name, type1, arg1, type2, arg2, \ |
419 | type3, arg3, type4, arg4, type5, arg5, type6, arg6) \ | |
39236c6e A |
420 | DTRACE_PROBE6(__boost_, name, arg1, arg2, arg3, arg4, arg5, arg6); |
421 | ||
cb323159 A |
422 | #if KASAN |
423 | #define DTRACE_KASAN(name) \ | |
424 | DTRACE_PROBE(__kasan_, name); | |
425 | ||
426 | #define DTRACE_KASAN1(name, type1, arg1) \ | |
427 | DTRACE_PROBE1(__kasan_, name, arg1); | |
428 | ||
429 | #define DTRACE_KASAN2(name, type1, arg1, type2, arg2) \ | |
430 | DTRACE_PROBE2(__kasan_, name, arg1, arg2); | |
431 | ||
432 | #define DTRACE_KASAN3(name, type1, arg1, type2, arg2, type3, arg3) \ | |
433 | DTRACE_PROBE3(__kasan_, name, arg1, arg2, arg3); | |
434 | ||
435 | #define DTRACE_KASAN4(name, type1, arg1, type2, arg2, \ | |
436 | type3, arg3, type4, arg4) \ | |
437 | DTRACE_PROBE4(__kasan_, name, arg1, arg2, arg3, arg4); | |
438 | ||
439 | #define DTRACE_KASAN5(name, type1, arg1, type2, arg2, \ | |
440 | type3, arg3, type4, arg4, type5, arg5) \ | |
441 | DTRACE_PROBE5(__kasan_, name, arg1, arg2, arg3, arg4, arg5); | |
442 | #endif /* KASAN */ | |
443 | ||
39037602 A |
444 | #if PRIVATE |
445 | #endif /* PRIVATE */ | |
2d21ac55 A |
446 | |
447 | #endif /* KERNEL */ | |
448 | ||
0a7de745 | 449 | #endif /* _MACH_MACHINE_SYS_SDT_H */ |