1179193Sjb/*
2179193Sjb * CDDL HEADER START
3179193Sjb *
4179193Sjb * The contents of this file are subject to the terms of the
5179193Sjb * Common Development and Distribution License (the "License").
6179193Sjb * You may not use this file except in compliance with the License.
7179193Sjb *
8179193Sjb * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9179193Sjb * or http://www.opensolaris.org/os/licensing.
10179193Sjb * See the License for the specific language governing permissions
11179193Sjb * and limitations under the License.
12179193Sjb *
13179193Sjb * When distributing Covered Code, include this CDDL HEADER in each
14179193Sjb * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15179193Sjb * If applicable, add the following below this CDDL HEADER, with the
16179193Sjb * fields enclosed by brackets "[]" replaced with your own identifying
17179193Sjb * information: Portions Copyright [yyyy] [name of copyright owner]
18179193Sjb *
19179193Sjb * CDDL HEADER END
20179193Sjb */
21179193Sjb/*
22179193Sjb * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23179193Sjb * Use is subject to license terms.
24268578Srpaulo * Copyright (c) 2012, Joyent, Inc. All rights reserved.
25179193Sjb */
26179193Sjb
27179193Sjb#pragma ident	"%Z%%M%	%I%	%E% SMI"
28179193Sjb
29179193Sjb#include <sys/sdt_impl.h>
30179193Sjb
31179193Sjbstatic dtrace_pattr_t vtrace_attr = {
32179193Sjb{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
33179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
34179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
35179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
36179193Sjb{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
37179193Sjb};
38179193Sjb
39179193Sjbstatic dtrace_pattr_t info_attr = {
40179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
41179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
42179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
43179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
44179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
45179193Sjb};
46179193Sjb
47179193Sjbstatic dtrace_pattr_t fpu_attr = {
48179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
49179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
50179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
51179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_CPU },
52179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
53179193Sjb};
54179193Sjb
55179193Sjbstatic dtrace_pattr_t fsinfo_attr = {
56179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
57179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
58179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
59179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
60179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
61179193Sjb};
62179193Sjb
63179193Sjbstatic dtrace_pattr_t stab_attr = {
64179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
65179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
66179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
67179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
68179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
69179193Sjb};
70179193Sjb
71179193Sjbstatic dtrace_pattr_t sdt_attr = {
72179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
73179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
74179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
75179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
76179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
77179193Sjb};
78179193Sjb
79179193Sjbstatic dtrace_pattr_t xpv_attr = {
80179193Sjb{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_PLATFORM },
81179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
82179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
83179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
84179193Sjb{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
85179193Sjb};
86179193Sjb
87179193Sjbsdt_provider_t sdt_providers[] = {
88179193Sjb	{ "vtrace", "__vtrace_", &vtrace_attr, 0 },
89268578Srpaulo	{ "sysinfo", "__cpu_sysinfo_", &info_attr, DTRACE_PRIV_USER },
90268578Srpaulo	{ "vminfo", "__cpu_vminfo_", &info_attr, DTRACE_PRIV_USER },
91179193Sjb	{ "fpuinfo", "__fpuinfo_", &fpu_attr, 0 },
92268578Srpaulo	{ "sched", "__sched_", &stab_attr, DTRACE_PRIV_USER },
93268578Srpaulo	{ "proc", "__proc_", &stab_attr, DTRACE_PRIV_USER },
94179193Sjb	{ "io", "__io_", &stab_attr, 0 },
95179193Sjb	{ "mib", "__mib_", &stab_attr, 0 },
96179193Sjb	{ "fsinfo", "__fsinfo_", &fsinfo_attr, 0 },
97179193Sjb	{ "nfsv3", "__nfsv3_", &stab_attr, 0 },
98179193Sjb	{ "nfsv4", "__nfsv4_", &stab_attr, 0 },
99179193Sjb	{ "xpv", "__xpv_", &xpv_attr, 0 },
100179193Sjb	{ "sysevent", "__sysevent_", &stab_attr, 0 },
101179193Sjb	{ "sdt", NULL, &sdt_attr, 0 },
102179193Sjb	{ NULL }
103179193Sjb};
104179193Sjb
105179193Sjbsdt_argdesc_t sdt_args[] = {
106179193Sjb	{ "sched", "wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
107179193Sjb	{ "sched", "wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
108179193Sjb	{ "sched", "dequeue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
109179193Sjb	{ "sched", "dequeue", 1, 0, "kthread_t *", "psinfo_t *" },
110179193Sjb	{ "sched", "dequeue", 2, 1, "disp_t *", "cpuinfo_t *" },
111179193Sjb	{ "sched", "enqueue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
112179193Sjb	{ "sched", "enqueue", 1, 0, "kthread_t *", "psinfo_t *" },
113179193Sjb	{ "sched", "enqueue", 2, 1, "disp_t *", "cpuinfo_t *" },
114179193Sjb	{ "sched", "enqueue", 3, 2, "int" },
115179193Sjb	{ "sched", "off-cpu", 0, 0, "kthread_t *", "lwpsinfo_t *" },
116179193Sjb	{ "sched", "off-cpu", 1, 0, "kthread_t *", "psinfo_t *" },
117179193Sjb	{ "sched", "tick", 0, 0, "kthread_t *", "lwpsinfo_t *" },
118179193Sjb	{ "sched", "tick", 1, 0, "kthread_t *", "psinfo_t *" },
119179193Sjb	{ "sched", "change-pri", 0, 0, "kthread_t *", "lwpsinfo_t *" },
120179193Sjb	{ "sched", "change-pri", 1, 0, "kthread_t *", "psinfo_t *" },
121179193Sjb	{ "sched", "change-pri", 2, 1, "pri_t" },
122179193Sjb	{ "sched", "schedctl-nopreempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
123179193Sjb	{ "sched", "schedctl-nopreempt", 1, 0, "kthread_t *", "psinfo_t *" },
124179193Sjb	{ "sched", "schedctl-nopreempt", 2, 1, "int" },
125179193Sjb	{ "sched", "schedctl-preempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
126179193Sjb	{ "sched", "schedctl-preempt", 1, 0, "kthread_t *", "psinfo_t *" },
127179193Sjb	{ "sched", "schedctl-yield", 0, 0, "int" },
128179193Sjb	{ "sched", "surrender", 0, 0, "kthread_t *", "lwpsinfo_t *" },
129179193Sjb	{ "sched", "surrender", 1, 0, "kthread_t *", "psinfo_t *" },
130179193Sjb	{ "sched", "cpucaps-sleep", 0, 0, "kthread_t *", "lwpsinfo_t *" },
131179193Sjb	{ "sched", "cpucaps-sleep", 1, 0, "kthread_t *", "psinfo_t *" },
132179193Sjb	{ "sched", "cpucaps-wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
133179193Sjb	{ "sched", "cpucaps-wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
134179193Sjb
135179193Sjb	{ "proc", "create", 0, 0, "proc_t *", "psinfo_t *" },
136179193Sjb	{ "proc", "exec", 0, 0, "string" },
137179193Sjb	{ "proc", "exec-failure", 0, 0, "int" },
138179193Sjb	{ "proc", "exit", 0, 0, "int" },
139179193Sjb	{ "proc", "fault", 0, 0, "int" },
140179193Sjb	{ "proc", "fault", 1, 1, "siginfo_t *" },
141179193Sjb	{ "proc", "lwp-create", 0, 0, "kthread_t *", "lwpsinfo_t *" },
142179193Sjb	{ "proc", "lwp-create", 1, 0, "kthread_t *", "psinfo_t *" },
143179193Sjb	{ "proc", "signal-clear", 0, 0, "int" },
144179193Sjb	{ "proc", "signal-clear", 1, 1, "siginfo_t *" },
145179193Sjb	{ "proc", "signal-discard", 0, 0, "kthread_t *", "lwpsinfo_t *" },
146179193Sjb	{ "proc", "signal-discard", 1, 1, "proc_t *", "psinfo_t *" },
147179193Sjb	{ "proc", "signal-discard", 2, 2, "int" },
148179193Sjb	{ "proc", "signal-handle", 0, 0, "int" },
149179193Sjb	{ "proc", "signal-handle", 1, 1, "siginfo_t *" },
150179193Sjb	{ "proc", "signal-handle", 2, 2, "void (*)(void)" },
151179193Sjb	{ "proc", "signal-send", 0, 0, "kthread_t *", "lwpsinfo_t *" },
152179193Sjb	{ "proc", "signal-send", 1, 0, "kthread_t *", "psinfo_t *" },
153179193Sjb	{ "proc", "signal-send", 2, 1, "int" },
154179193Sjb
155179193Sjb	{ "io", "start", 0, 0, "buf_t *", "bufinfo_t *" },
156179193Sjb	{ "io", "start", 1, 0, "buf_t *", "devinfo_t *" },
157179193Sjb	{ "io", "start", 2, 0, "buf_t *", "fileinfo_t *" },
158179193Sjb	{ "io", "done", 0, 0, "buf_t *", "bufinfo_t *" },
159179193Sjb	{ "io", "done", 1, 0, "buf_t *", "devinfo_t *" },
160179193Sjb	{ "io", "done", 2, 0, "buf_t *", "fileinfo_t *" },
161179193Sjb	{ "io", "wait-start", 0, 0, "buf_t *", "bufinfo_t *" },
162179193Sjb	{ "io", "wait-start", 1, 0, "buf_t *", "devinfo_t *" },
163179193Sjb	{ "io", "wait-start", 2, 0, "buf_t *", "fileinfo_t *" },
164179193Sjb	{ "io", "wait-done", 0, 0, "buf_t *", "bufinfo_t *" },
165179193Sjb	{ "io", "wait-done", 1, 0, "buf_t *", "devinfo_t *" },
166179193Sjb	{ "io", "wait-done", 2, 0, "buf_t *", "fileinfo_t *" },
167179193Sjb
168179193Sjb	{ "mib", NULL, 0, 0, "int" },
169179193Sjb
170179193Sjb	{ "fsinfo", NULL, 0, 0, "vnode_t *", "fileinfo_t *" },
171179193Sjb	{ "fsinfo", NULL, 1, 1, "int", "int" },
172179193Sjb
173179193Sjb	{ "nfsv3", "op-getattr-start", 0, 0, "struct svc_req *",
174179193Sjb	    "conninfo_t *" },
175179193Sjb	{ "nfsv3", "op-getattr-start", 1, 1, "nfsv3oparg_t *",
176179193Sjb	    "nfsv3opinfo_t *" },
177179193Sjb	{ "nfsv3", "op-getattr-start", 2, 3, "GETATTR3args *" },
178179193Sjb	{ "nfsv3", "op-getattr-done", 0, 0, "struct svc_req *",
179179193Sjb	    "conninfo_t *" },
180179193Sjb	{ "nfsv3", "op-getattr-done", 1, 1, "nfsv3oparg_t *",
181179193Sjb	    "nfsv3opinfo_t *" },
182179193Sjb	{ "nfsv3", "op-getattr-done", 2, 3, "GETATTR3res *" },
183179193Sjb	{ "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
184179193Sjb	    "conninfo_t *" },
185179193Sjb	{ "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
186179193Sjb	    "nfsv3opinfo_t *" },
187179193Sjb	{ "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
188179193Sjb	{ "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
189179193Sjb	    "conninfo_t *" },
190179193Sjb	{ "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
191179193Sjb	    "nfsv3opinfo_t *" },
192179193Sjb	{ "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
193179193Sjb	{ "nfsv3", "op-lookup-start", 0, 0, "struct svc_req *",
194179193Sjb	    "conninfo_t *" },
195179193Sjb	{ "nfsv3", "op-lookup-start", 1, 1, "nfsv3oparg_t *",
196179193Sjb	    "nfsv3opinfo_t *" },
197179193Sjb	{ "nfsv3", "op-lookup-start", 2, 3, "LOOKUP3args *" },
198179193Sjb	{ "nfsv3", "op-lookup-done", 0, 0, "struct svc_req *",
199179193Sjb	    "conninfo_t *" },
200179193Sjb	{ "nfsv3", "op-lookup-done", 1, 1, "nfsv3oparg_t *",
201179193Sjb	    "nfsv3opinfo_t *" },
202179193Sjb	{ "nfsv3", "op-lookup-done", 2, 3, "LOOKUP3res *" },
203179193Sjb	{ "nfsv3", "op-access-start", 0, 0, "struct svc_req *",
204179193Sjb	    "conninfo_t *" },
205179193Sjb	{ "nfsv3", "op-access-start", 1, 1, "nfsv3oparg_t *",
206179193Sjb	    "nfsv3opinfo_t *" },
207179193Sjb	{ "nfsv3", "op-access-start", 2, 3, "ACCESS3args *" },
208179193Sjb	{ "nfsv3", "op-access-done", 0, 0, "struct svc_req *",
209179193Sjb	    "conninfo_t *" },
210179193Sjb	{ "nfsv3", "op-access-done", 1, 1, "nfsv3oparg_t *",
211179193Sjb	    "nfsv3opinfo_t *" },
212179193Sjb	{ "nfsv3", "op-access-done", 2, 3, "ACCESS3res *" },
213179193Sjb	{ "nfsv3", "op-commit-start", 0, 0, "struct svc_req *",
214179193Sjb	    "conninfo_t *" },
215179193Sjb	{ "nfsv3", "op-commit-start", 1, 1, "nfsv3oparg_t *",
216179193Sjb	    "nfsv3opinfo_t *" },
217179193Sjb	{ "nfsv3", "op-commit-start", 2, 3, "COMMIT3args *" },
218179193Sjb	{ "nfsv3", "op-commit-done", 0, 0, "struct svc_req *",
219179193Sjb	    "conninfo_t *" },
220179193Sjb	{ "nfsv3", "op-commit-done", 1, 1, "nfsv3oparg_t *",
221179193Sjb	    "nfsv3opinfo_t *" },
222179193Sjb	{ "nfsv3", "op-commit-done", 2, 3, "COMMIT3res *" },
223179193Sjb	{ "nfsv3", "op-create-start", 0, 0, "struct svc_req *",
224179193Sjb	    "conninfo_t *" },
225179193Sjb	{ "nfsv3", "op-create-start", 1, 1, "nfsv3oparg_t *",
226179193Sjb	    "nfsv3opinfo_t *" },
227179193Sjb	{ "nfsv3", "op-create-start", 2, 3, "CREATE3args *" },
228179193Sjb	{ "nfsv3", "op-create-done", 0, 0, "struct svc_req *",
229179193Sjb	    "conninfo_t *" },
230179193Sjb	{ "nfsv3", "op-create-done", 1, 1, "nfsv3oparg_t *",
231179193Sjb	    "nfsv3opinfo_t *" },
232179193Sjb	{ "nfsv3", "op-create-done", 2, 3, "CREATE3res *" },
233179193Sjb	{ "nfsv3", "op-fsinfo-start", 0, 0, "struct svc_req *",
234179193Sjb	    "conninfo_t *" },
235179193Sjb	{ "nfsv3", "op-fsinfo-start", 1, 1, "nfsv3oparg_t *",
236179193Sjb	    "nfsv3opinfo_t *" },
237179193Sjb	{ "nfsv3", "op-fsinfo-start", 2, 3, "FSINFO3args *" },
238179193Sjb	{ "nfsv3", "op-fsinfo-done", 0, 0, "struct svc_req *",
239179193Sjb	    "conninfo_t *" },
240179193Sjb	{ "nfsv3", "op-fsinfo-done", 1, 1, "nfsv3oparg_t *",
241179193Sjb	    "nfsv3opinfo_t *" },
242179193Sjb	{ "nfsv3", "op-fsinfo-done", 2, 3, "FSINFO3res *" },
243179193Sjb	{ "nfsv3", "op-fsstat-start", 0, 0, "struct svc_req *",
244179193Sjb	    "conninfo_t *" },
245179193Sjb	{ "nfsv3", "op-fsstat-start", 1, 1, "nfsv3oparg_t *",
246179193Sjb	    "nfsv3opinfo_t *" },
247179193Sjb	{ "nfsv3", "op-fsstat-start", 2, 3, "FSSTAT3args *" },
248179193Sjb	{ "nfsv3", "op-fsstat-done", 0, 0, "struct svc_req *",
249179193Sjb	    "conninfo_t *" },
250179193Sjb	{ "nfsv3", "op-fsstat-done", 1, 1, "nfsv3oparg_t *",
251179193Sjb	    "nfsv3opinfo_t *" },
252179193Sjb	{ "nfsv3", "op-fsstat-done", 2, 3, "FSSTAT3res *" },
253179193Sjb	{ "nfsv3", "op-link-start", 0, 0, "struct svc_req *",
254179193Sjb	    "conninfo_t *" },
255179193Sjb	{ "nfsv3", "op-link-start", 1, 1, "nfsv3oparg_t *",
256179193Sjb	    "nfsv3opinfo_t *" },
257179193Sjb	{ "nfsv3", "op-link-start", 2, 3, "LINK3args *" },
258179193Sjb	{ "nfsv3", "op-link-done", 0, 0, "struct svc_req *",
259179193Sjb	    "conninfo_t *" },
260179193Sjb	{ "nfsv3", "op-link-done", 1, 1, "nfsv3oparg_t *",
261179193Sjb	    "nfsv3opinfo_t *" },
262179193Sjb	{ "nfsv3", "op-link-done", 2, 3, "LINK3res *" },
263179193Sjb	{ "nfsv3", "op-mkdir-start", 0, 0, "struct svc_req *",
264179193Sjb	    "conninfo_t *" },
265179193Sjb	{ "nfsv3", "op-mkdir-start", 1, 1, "nfsv3oparg_t *",
266179193Sjb	    "nfsv3opinfo_t *" },
267179193Sjb	{ "nfsv3", "op-mkdir-start", 2, 3, "MKDIR3args *" },
268179193Sjb	{ "nfsv3", "op-mkdir-done", 0, 0, "struct svc_req *",
269179193Sjb	    "conninfo_t *" },
270179193Sjb	{ "nfsv3", "op-mkdir-done", 1, 1, "nfsv3oparg_t *",
271179193Sjb	    "nfsv3opinfo_t *" },
272179193Sjb	{ "nfsv3", "op-mkdir-done", 2, 3, "MKDIR3res *" },
273179193Sjb	{ "nfsv3", "op-mknod-start", 0, 0, "struct svc_req *",
274179193Sjb	    "conninfo_t *" },
275179193Sjb	{ "nfsv3", "op-mknod-start", 1, 1, "nfsv3oparg_t *",
276179193Sjb	    "nfsv3opinfo_t *" },
277179193Sjb	{ "nfsv3", "op-mknod-start", 2, 3, "MKNOD3args *" },
278179193Sjb	{ "nfsv3", "op-mknod-done", 0, 0, "struct svc_req *",
279179193Sjb	    "conninfo_t *" },
280179193Sjb	{ "nfsv3", "op-mknod-done", 1, 1, "nfsv3oparg_t *",
281179193Sjb	    "nfsv3opinfo_t *" },
282179193Sjb	{ "nfsv3", "op-mknod-done", 2, 3, "MKNOD3res *" },
283179193Sjb	{ "nfsv3", "op-null-start", 0, 0, "struct svc_req *",
284179193Sjb	    "conninfo_t *" },
285179193Sjb	{ "nfsv3", "op-null-start", 1, 1, "nfsv3oparg_t *",
286179193Sjb	    "nfsv3opinfo_t *" },
287179193Sjb	{ "nfsv3", "op-null-done", 0, 0, "struct svc_req *",
288179193Sjb	    "conninfo_t *" },
289179193Sjb	{ "nfsv3", "op-null-done", 1, 1, "nfsv3oparg_t *",
290179193Sjb	    "nfsv3opinfo_t *" },
291179193Sjb	{ "nfsv3", "op-pathconf-start", 0, 0, "struct svc_req *",
292179193Sjb	    "conninfo_t *" },
293179193Sjb	{ "nfsv3", "op-pathconf-start", 1, 1, "nfsv3oparg_t *",
294179193Sjb	    "nfsv3opinfo_t *" },
295179193Sjb	{ "nfsv3", "op-pathconf-start", 2, 3, "PATHCONF3args *" },
296179193Sjb	{ "nfsv3", "op-pathconf-done", 0, 0, "struct svc_req *",
297179193Sjb	    "conninfo_t *" },
298179193Sjb	{ "nfsv3", "op-pathconf-done", 1, 1, "nfsv3oparg_t *",
299179193Sjb	    "nfsv3opinfo_t *" },
300179193Sjb	{ "nfsv3", "op-pathconf-done", 2, 3, "PATHCONF3res *" },
301179193Sjb	{ "nfsv3", "op-read-start", 0, 0, "struct svc_req *",
302179193Sjb	    "conninfo_t *" },
303179193Sjb	{ "nfsv3", "op-read-start", 1, 1, "nfsv3oparg_t *",
304179193Sjb	    "nfsv3opinfo_t *" },
305179193Sjb	{ "nfsv3", "op-read-start", 2, 3, "READ3args *" },
306179193Sjb	{ "nfsv3", "op-read-done", 0, 0, "struct svc_req *",
307179193Sjb	    "conninfo_t *" },
308179193Sjb	{ "nfsv3", "op-read-done", 1, 1, "nfsv3oparg_t *",
309179193Sjb	    "nfsv3opinfo_t *" },
310179193Sjb	{ "nfsv3", "op-read-done", 2, 3, "READ3res *" },
311179193Sjb	{ "nfsv3", "op-readdir-start", 0, 0, "struct svc_req *",
312179193Sjb	    "conninfo_t *" },
313179193Sjb	{ "nfsv3", "op-readdir-start", 1, 1, "nfsv3oparg_t *",
314179193Sjb	    "nfsv3opinfo_t *" },
315179193Sjb	{ "nfsv3", "op-readdir-start", 2, 3, "READDIR3args *" },
316179193Sjb	{ "nfsv3", "op-readdir-done", 0, 0, "struct svc_req *",
317179193Sjb	    "conninfo_t *" },
318179193Sjb	{ "nfsv3", "op-readdir-done", 1, 1, "nfsv3oparg_t *",
319179193Sjb	    "nfsv3opinfo_t *" },
320179193Sjb	{ "nfsv3", "op-readdir-done", 2, 3, "READDIR3res *" },
321179193Sjb	{ "nfsv3", "op-readdirplus-start", 0, 0, "struct svc_req *",
322179193Sjb	    "conninfo_t *" },
323179193Sjb	{ "nfsv3", "op-readdirplus-start", 1, 1, "nfsv3oparg_t *",
324179193Sjb	    "nfsv3opinfo_t *" },
325179193Sjb	{ "nfsv3", "op-readdirplus-start", 2, 3, "READDIRPLUS3args *" },
326179193Sjb	{ "nfsv3", "op-readdirplus-done", 0, 0, "struct svc_req *",
327179193Sjb	    "conninfo_t *" },
328179193Sjb	{ "nfsv3", "op-readdirplus-done", 1, 1, "nfsv3oparg_t *",
329179193Sjb	    "nfsv3opinfo_t *" },
330179193Sjb	{ "nfsv3", "op-readdirplus-done", 2, 3, "READDIRPLUS3res *" },
331179193Sjb	{ "nfsv3", "op-readlink-start", 0, 0, "struct svc_req *",
332179193Sjb	    "conninfo_t *" },
333179193Sjb	{ "nfsv3", "op-readlink-start", 1, 1, "nfsv3oparg_t *",
334179193Sjb	    "nfsv3opinfo_t *" },
335179193Sjb	{ "nfsv3", "op-readlink-start", 2, 3, "READLINK3args *" },
336179193Sjb	{ "nfsv3", "op-readlink-done", 0, 0, "struct svc_req *",
337179193Sjb	    "conninfo_t *" },
338179193Sjb	{ "nfsv3", "op-readlink-done", 1, 1, "nfsv3oparg_t *",
339179193Sjb	    "nfsv3opinfo_t *" },
340179193Sjb	{ "nfsv3", "op-readlink-done", 2, 3, "READLINK3res *" },
341179193Sjb	{ "nfsv3", "op-remove-start", 0, 0, "struct svc_req *",
342179193Sjb	    "conninfo_t *" },
343179193Sjb	{ "nfsv3", "op-remove-start", 1, 1, "nfsv3oparg_t *",
344179193Sjb	    "nfsv3opinfo_t *" },
345179193Sjb	{ "nfsv3", "op-remove-start", 2, 3, "REMOVE3args *" },
346179193Sjb	{ "nfsv3", "op-remove-done", 0, 0, "struct svc_req *",
347179193Sjb	    "conninfo_t *" },
348179193Sjb	{ "nfsv3", "op-remove-done", 1, 1, "nfsv3oparg_t *",
349179193Sjb	    "nfsv3opinfo_t *" },
350179193Sjb	{ "nfsv3", "op-remove-done", 2, 3, "REMOVE3res *" },
351179193Sjb	{ "nfsv3", "op-rename-start", 0, 0, "struct svc_req *",
352179193Sjb	    "conninfo_t *" },
353179193Sjb	{ "nfsv3", "op-rename-start", 1, 1, "nfsv3oparg_t *",
354179193Sjb	    "nfsv3opinfo_t *" },
355179193Sjb	{ "nfsv3", "op-rename-start", 2, 3, "RENAME3args *" },
356179193Sjb	{ "nfsv3", "op-rename-done", 0, 0, "struct svc_req *",
357179193Sjb	    "conninfo_t *" },
358179193Sjb	{ "nfsv3", "op-rename-done", 1, 1, "nfsv3oparg_t *",
359179193Sjb	    "nfsv3opinfo_t *" },
360179193Sjb	{ "nfsv3", "op-rename-done", 2, 3, "RENAME3res *" },
361179193Sjb	{ "nfsv3", "op-rmdir-start", 0, 0, "struct svc_req *",
362179193Sjb	    "conninfo_t *" },
363179193Sjb	{ "nfsv3", "op-rmdir-start", 1, 1, "nfsv3oparg_t *",
364179193Sjb	    "nfsv3opinfo_t *" },
365179193Sjb	{ "nfsv3", "op-rmdir-start", 2, 3, "RMDIR3args *" },
366179193Sjb	{ "nfsv3", "op-rmdir-done", 0, 0, "struct svc_req *",
367179193Sjb	    "conninfo_t *" },
368179193Sjb	{ "nfsv3", "op-rmdir-done", 1, 1, "nfsv3oparg_t *",
369179193Sjb	    "nfsv3opinfo_t *" },
370179193Sjb	{ "nfsv3", "op-rmdir-done", 2, 3, "RMDIR3res *" },
371179193Sjb	{ "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
372179193Sjb	    "conninfo_t *" },
373179193Sjb	{ "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
374179193Sjb	    "nfsv3opinfo_t *" },
375179193Sjb	{ "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
376179193Sjb	{ "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
377179193Sjb	    "conninfo_t *" },
378179193Sjb	{ "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
379179193Sjb	    "nfsv3opinfo_t *" },
380179193Sjb	{ "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
381179193Sjb	{ "nfsv3", "op-symlink-start", 0, 0, "struct svc_req *",
382179193Sjb	    "conninfo_t *" },
383179193Sjb	{ "nfsv3", "op-symlink-start", 1, 1, "nfsv3oparg_t *",
384179193Sjb	    "nfsv3opinfo_t *" },
385179193Sjb	{ "nfsv3", "op-symlink-start", 2, 3, "SYMLINK3args *" },
386179193Sjb	{ "nfsv3", "op-symlink-done", 0, 0, "struct svc_req *",
387179193Sjb	    "conninfo_t *" },
388179193Sjb	{ "nfsv3", "op-symlink-done", 1, 1, "nfsv3oparg_t *",
389179193Sjb	    "nfsv3opinfo_t *" },
390179193Sjb	{ "nfsv3", "op-symlink-done", 2, 3, "SYMLINK3res *" },
391179193Sjb	{ "nfsv3", "op-write-start", 0, 0, "struct svc_req *",
392179193Sjb	    "conninfo_t *" },
393179193Sjb	{ "nfsv3", "op-write-start", 1, 1, "nfsv3oparg_t *",
394179193Sjb	    "nfsv3opinfo_t *" },
395179193Sjb	{ "nfsv3", "op-write-start", 2, 3, "WRITE3args *" },
396179193Sjb	{ "nfsv3", "op-write-done", 0, 0, "struct svc_req *",
397179193Sjb	    "conninfo_t *" },
398179193Sjb	{ "nfsv3", "op-write-done", 1, 1, "nfsv3oparg_t *",
399179193Sjb	    "nfsv3opinfo_t *" },
400179193Sjb	{ "nfsv3", "op-write-done", 2, 3, "WRITE3res *" },
401179193Sjb
402179193Sjb	{ "nfsv4", "null-start", 0, 0, "struct svc_req *", "conninfo_t *" },
403179193Sjb	{ "nfsv4", "null-done", 0, 0, "struct svc_req *", "conninfo_t *" },
404179193Sjb	{ "nfsv4", "compound-start", 0, 0, "struct compound_state *",
405179193Sjb	    "conninfo_t *" },
406179193Sjb	{ "nfsv4", "compound-start", 1, 0, "struct compound_state *",
407179193Sjb	    "nfsv4opinfo_t *" },
408179193Sjb	{ "nfsv4", "compound-start", 2, 1, "COMPOUND4args *" },
409179193Sjb	{ "nfsv4", "compound-done", 0, 0, "struct compound_state *",
410179193Sjb	    "conninfo_t *" },
411179193Sjb	{ "nfsv4", "compound-done", 1, 0, "struct compound_state *",
412179193Sjb	    "nfsv4opinfo_t *" },
413179193Sjb	{ "nfsv4", "compound-done", 2, 1, "COMPOUND4res *" },
414179193Sjb	{ "nfsv4", "op-access-start", 0, 0, "struct compound_state *",
415179193Sjb	    "conninfo_t *"},
416179193Sjb	{ "nfsv4", "op-access-start", 1, 0, "struct compound_state *",
417179193Sjb	    "nfsv4opinfo_t *" },
418179193Sjb	{ "nfsv4", "op-access-start", 2, 1, "ACCESS4args *" },
419179193Sjb	{ "nfsv4", "op-access-done", 0, 0, "struct compound_state *",
420179193Sjb	    "conninfo_t *" },
421179193Sjb	{ "nfsv4", "op-access-done", 1, 0, "struct compound_state *",
422179193Sjb	    "nfsv4opinfo_t *" },
423179193Sjb	{ "nfsv4", "op-access-done", 2, 1, "ACCESS4res *" },
424179193Sjb	{ "nfsv4", "op-close-start", 0, 0, "struct compound_state *",
425179193Sjb	    "conninfo_t *" },
426179193Sjb	{ "nfsv4", "op-close-start", 1, 0, "struct compound_state *",
427179193Sjb	    "nfsv4opinfo_t *" },
428179193Sjb	{ "nfsv4", "op-close-start", 2, 1, "CLOSE4args *" },
429179193Sjb	{ "nfsv4", "op-close-done", 0, 0, "struct compound_state *",
430179193Sjb	    "conninfo_t *" },
431179193Sjb	{ "nfsv4", "op-close-done", 1, 0, "struct compound_state *",
432179193Sjb	    "nfsv4opinfo_t *" },
433179193Sjb	{ "nfsv4", "op-close-done", 2, 1, "CLOSE4res *" },
434179193Sjb	{ "nfsv4", "op-commit-start", 0, 0, "struct compound_state *",
435179193Sjb	    "conninfo_t *" },
436179193Sjb	{ "nfsv4", "op-commit-start", 1, 0, "struct compound_state *",
437179193Sjb	    "nfsv4opinfo_t *" },
438179193Sjb	{ "nfsv4", "op-commit-start", 2, 1, "COMMIT4args *" },
439179193Sjb	{ "nfsv4", "op-commit-done", 0, 0, "struct compound_state *",
440179193Sjb	    "conninfo_t *" },
441179193Sjb	{ "nfsv4", "op-commit-done", 1, 0, "struct compound_state *",
442179193Sjb	    "nfsv4opinfo_t *" },
443179193Sjb	{ "nfsv4", "op-commit-done", 2, 1, "COMMIT4res *" },
444179193Sjb	{ "nfsv4", "op-create-start", 0, 0, "struct compound_state *",
445179193Sjb	    "conninfo_t *" },
446179193Sjb	{ "nfsv4", "op-create-start", 1, 0, "struct compound_state *",
447179193Sjb	    "nfsv4opinfo_t *" },
448179193Sjb	{ "nfsv4", "op-create-start", 2, 1, "CREATE4args *" },
449179193Sjb	{ "nfsv4", "op-create-done", 0, 0, "struct compound_state *",
450179193Sjb	    "conninfo_t *" },
451179193Sjb	{ "nfsv4", "op-create-done", 1, 0, "struct compound_state *",
452179193Sjb	    "nfsv4opinfo_t *" },
453179193Sjb	{ "nfsv4", "op-create-done", 2, 1, "CREATE4res *" },
454179193Sjb	{ "nfsv4", "op-delegpurge-start", 0, 0, "struct compound_state *",
455179193Sjb	    "conninfo_t *" },
456179193Sjb	{ "nfsv4", "op-delegpurge-start", 1, 0, "struct compound_state *",
457179193Sjb	    "nfsv4opinfo_t *" },
458179193Sjb	{ "nfsv4", "op-delegpurge-start", 2, 1, "DELEGPURGE4args *" },
459179193Sjb	{ "nfsv4", "op-delegpurge-done", 0, 0, "struct compound_state *",
460179193Sjb	    "conninfo_t *" },
461179193Sjb	{ "nfsv4", "op-delegpurge-done", 1, 0, "struct compound_state *",
462179193Sjb	    "nfsv4opinfo_t *" },
463179193Sjb	{ "nfsv4", "op-delegpurge-done", 2, 1, "DELEGPURGE4res *" },
464179193Sjb	{ "nfsv4", "op-delegreturn-start", 0, 0, "struct compound_state *",
465179193Sjb	    "conninfo_t *" },
466179193Sjb	{ "nfsv4", "op-delegreturn-start", 1, 0, "struct compound_state *",
467179193Sjb	    "nfsv4opinfo_t *" },
468179193Sjb	{ "nfsv4", "op-delegreturn-start", 2, 1, "DELEGRETURN4args *" },
469179193Sjb	{ "nfsv4", "op-delegreturn-done", 0, 0, "struct compound_state *",
470179193Sjb	    "conninfo_t *" },
471179193Sjb	{ "nfsv4", "op-delegreturn-done", 1, 0, "struct compound_state *",
472179193Sjb	    "nfsv4opinfo_t *" },
473179193Sjb	{ "nfsv4", "op-delegreturn-done", 2, 1, "DELEGRETURN4res *" },
474179193Sjb	{ "nfsv4", "op-getattr-start", 0, 0, "struct compound_state *",
475179193Sjb	    "conninfo_t *" },
476179193Sjb	{ "nfsv4", "op-getattr-start", 1, 0, "struct compound_state *",
477179193Sjb	    "nfsv4opinfo_t *" },
478179193Sjb	{ "nfsv4", "op-getattr-start", 2, 1, "GETATTR4args *" },
479179193Sjb	{ "nfsv4", "op-getattr-done", 0, 0, "struct compound_state *",
480179193Sjb	    "conninfo_t *" },
481179193Sjb	{ "nfsv4", "op-getattr-done", 1, 0, "struct compound_state *",
482179193Sjb	    "nfsv4opinfo_t *" },
483179193Sjb	{ "nfsv4", "op-getattr-done", 2, 1, "GETATTR4res *" },
484179193Sjb	{ "nfsv4", "op-getfh-start", 0, 0, "struct compound_state *",
485179193Sjb	    "conninfo_t *" },
486179193Sjb	{ "nfsv4", "op-getfh-start", 1, 0, "struct compound_state *",
487179193Sjb	    "nfsv4opinfo_t *" },
488179193Sjb	{ "nfsv4", "op-getfh-done", 0, 0, "struct compound_state *",
489179193Sjb	    "conninfo_t *" },
490179193Sjb	{ "nfsv4", "op-getfh-done", 1, 0, "struct compound_state *",
491179193Sjb	    "nfsv4opinfo_t *" },
492179193Sjb	{ "nfsv4", "op-getfh-done", 2, 1, "GETFH4res *" },
493179193Sjb	{ "nfsv4", "op-link-start", 0, 0, "struct compound_state *",
494179193Sjb	    "conninfo_t *" },
495179193Sjb	{ "nfsv4", "op-link-start", 1, 0, "struct compound_state *",
496179193Sjb	    "nfsv4opinfo_t *" },
497179193Sjb	{ "nfsv4", "op-link-start", 2, 1, "LINK4args *" },
498179193Sjb	{ "nfsv4", "op-link-done", 0, 0, "struct compound_state *",
499179193Sjb	    "conninfo_t *" },
500179193Sjb	{ "nfsv4", "op-link-done", 1, 0, "struct compound_state *",
501179193Sjb	    "nfsv4opinfo_t *" },
502179193Sjb	{ "nfsv4", "op-link-done", 2, 1, "LINK4res *" },
503179193Sjb	{ "nfsv4", "op-lock-start", 0, 0, "struct compound_state *",
504179193Sjb	    "conninfo_t *" },
505179193Sjb	{ "nfsv4", "op-lock-start", 1, 0, "struct compound_state *",
506179193Sjb	    "nfsv4opinfo_t *" },
507179193Sjb	{ "nfsv4", "op-lock-start", 2, 1, "LOCK4args *" },
508179193Sjb	{ "nfsv4", "op-lock-done", 0, 0, "struct compound_state *",
509179193Sjb	    "conninfo_t *" },
510179193Sjb	{ "nfsv4", "op-lock-done", 1, 0, "struct compound_state *",
511179193Sjb	    "nfsv4opinfo_t *" },
512179193Sjb	{ "nfsv4", "op-lock-done", 2, 1, "LOCK4res *" },
513179193Sjb	{ "nfsv4", "op-lockt-start", 0, 0, "struct compound_state *",
514179193Sjb	    "conninfo_t *" },
515179193Sjb	{ "nfsv4", "op-lockt-start", 1, 0, "struct compound_state *",
516179193Sjb	    "nfsv4opinfo_t *" },
517179193Sjb	{ "nfsv4", "op-lockt-start", 2, 1, "LOCKT4args *" },
518179193Sjb	{ "nfsv4", "op-lockt-done", 0, 0, "struct compound_state *",
519179193Sjb	    "conninfo_t *" },
520179193Sjb	{ "nfsv4", "op-lockt-done", 1, 0, "struct compound_state *",
521179193Sjb	    "nfsv4opinfo_t *" },
522179193Sjb	{ "nfsv4", "op-lockt-done", 2, 1, "LOCKT4res *" },
523179193Sjb	{ "nfsv4", "op-locku-start", 0, 0, "struct compound_state *",
524179193Sjb	    "conninfo_t *" },
525179193Sjb	{ "nfsv4", "op-locku-start", 1, 0, "struct compound_state *",
526179193Sjb	    "nfsv4opinfo_t *" },
527179193Sjb	{ "nfsv4", "op-locku-start", 2, 1, "LOCKU4args *" },
528179193Sjb	{ "nfsv4", "op-locku-done", 0, 0, "struct compound_state *",
529179193Sjb	    "conninfo_t *" },
530179193Sjb	{ "nfsv4", "op-locku-done", 1, 0, "struct compound_state *",
531179193Sjb	    "nfsv4opinfo_t *" },
532179193Sjb	{ "nfsv4", "op-locku-done", 2, 1, "LOCKU4res *" },
533179193Sjb	{ "nfsv4", "op-lookup-start", 0, 0, "struct compound_state *",
534179193Sjb	    "conninfo_t *" },
535179193Sjb	{ "nfsv4", "op-lookup-start", 1, 0, "struct compound_state *",
536179193Sjb	    "nfsv4opinfo_t *" },
537179193Sjb	{ "nfsv4", "op-lookup-start", 2, 1, "LOOKUP4args *" },
538179193Sjb	{ "nfsv4", "op-lookup-done", 0, 0, "struct compound_state *",
539179193Sjb	    "conninfo_t *" },
540179193Sjb	{ "nfsv4", "op-lookup-done", 1, 0, "struct compound_state *",
541179193Sjb	    "nfsv4opinfo_t *" },
542179193Sjb	{ "nfsv4", "op-lookup-done", 2, 1, "LOOKUP4res *" },
543179193Sjb	{ "nfsv4", "op-lookupp-start", 0, 0, "struct compound_state *",
544179193Sjb	    "conninfo_t *" },
545179193Sjb	{ "nfsv4", "op-lookupp-start", 1, 0, "struct compound_state *",
546179193Sjb	    "nfsv4opinfo_t *" },
547179193Sjb	{ "nfsv4", "op-lookupp-done", 0, 0, "struct compound_state *",
548179193Sjb	    "conninfo_t *" },
549179193Sjb	{ "nfsv4", "op-lookupp-done", 1, 0, "struct compound_state *",
550179193Sjb	    "nfsv4opinfo_t *" },
551179193Sjb	{ "nfsv4", "op-lookupp-done", 2, 1, "LOOKUPP4res *" },
552179193Sjb	{ "nfsv4", "op-nverify-start", 0, 0, "struct compound_state *",
553179193Sjb	    "conninfo_t *" },
554179193Sjb	{ "nfsv4", "op-nverify-start", 1, 0, "struct compound_state *",
555179193Sjb	    "nfsv4opinfo_t *" },
556179193Sjb	{ "nfsv4", "op-nverify-start", 2, 1, "NVERIFY4args *" },
557179193Sjb	{ "nfsv4", "op-nverify-done", 0, 0, "struct compound_state *",
558179193Sjb	    "conninfo_t *" },
559179193Sjb	{ "nfsv4", "op-nverify-done", 1, 0, "struct compound_state *",
560179193Sjb	    "nfsv4opinfo_t *" },
561179193Sjb	{ "nfsv4", "op-nverify-done", 2, 1, "NVERIFY4res *" },
562179193Sjb	{ "nfsv4", "op-open-start", 0, 0, "struct compound_state *",
563179193Sjb	    "conninfo_t *" },
564179193Sjb	{ "nfsv4", "op-open-start", 1, 0, "struct compound_state *",
565179193Sjb	    "nfsv4opinfo_t *" },
566179193Sjb	{ "nfsv4", "op-open-start", 2, 1, "OPEN4args *" },
567179193Sjb	{ "nfsv4", "op-open-done", 0, 0, "struct compound_state *",
568179193Sjb	    "conninfo_t *" },
569179193Sjb	{ "nfsv4", "op-open-done", 1, 0, "struct compound_state *",
570179193Sjb	    "nfsv4opinfo_t *" },
571179193Sjb	{ "nfsv4", "op-open-done", 2, 1, "OPEN4res *" },
572179193Sjb	{ "nfsv4", "op-open-confirm-start", 0, 0, "struct compound_state *",
573179193Sjb	    "conninfo_t *" },
574179193Sjb	{ "nfsv4", "op-open-confirm-start", 1, 0, "struct compound_state *",
575179193Sjb	    "nfsv4opinfo_t *" },
576179193Sjb	{ "nfsv4", "op-open-confirm-start", 2, 1, "OPEN_CONFIRM4args *" },
577179193Sjb	{ "nfsv4", "op-open-confirm-done", 0, 0, "struct compound_state *",
578179193Sjb	    "conninfo_t *" },
579179193Sjb	{ "nfsv4", "op-open-confirm-done", 1, 0, "struct compound_state *",
580179193Sjb	    "nfsv4opinfo_t *" },
581179193Sjb	{ "nfsv4", "op-open-confirm-done", 2, 1, "OPEN_CONFIRM4res *" },
582179193Sjb	{ "nfsv4", "op-open-downgrade-start", 0, 0, "struct compound_state *",
583179193Sjb	    "conninfo_t *" },
584179193Sjb	{ "nfsv4", "op-open-downgrade-start", 1, 0, "struct compound_state *",
585179193Sjb	    "nfsv4opinfo_t *" },
586179193Sjb	{ "nfsv4", "op-open-downgrade-start", 2, 1, "OPEN_DOWNGRADE4args *" },
587179193Sjb	{ "nfsv4", "op-open-downgrade-done", 0, 0, "struct compound_state *",
588179193Sjb	    "conninfo_t *" },
589179193Sjb	{ "nfsv4", "op-open-downgrade-done", 1, 0, "struct compound_state *",
590179193Sjb	    "nfsv4opinfo_t *" },
591179193Sjb	{ "nfsv4", "op-open-downgrade-done", 2, 1, "OPEN_DOWNGRADE4res *" },
592179193Sjb	{ "nfsv4", "op-openattr-start", 0, 0, "struct compound_state *",
593179193Sjb	    "conninfo_t *" },
594179193Sjb	{ "nfsv4", "op-openattr-start", 1, 0, "struct compound_state *",
595179193Sjb	    "nfsv4opinfo_t *" },
596179193Sjb	{ "nfsv4", "op-openattr-start", 2, 1, "OPENATTR4args *" },
597179193Sjb	{ "nfsv4", "op-openattr-done", 0, 0, "struct compound_state *",
598179193Sjb	    "conninfo_t *" },
599179193Sjb	{ "nfsv4", "op-openattr-done", 1, 0, "struct compound_state *",
600179193Sjb	    "nfsv4opinfo_t *" },
601179193Sjb	{ "nfsv4", "op-openattr-done", 2, 1, "OPENATTR4res *" },
602179193Sjb	{ "nfsv4", "op-putfh-start", 0, 0, "struct compound_state *",
603179193Sjb	    "conninfo_t *" },
604179193Sjb	{ "nfsv4", "op-putfh-start", 1, 0, "struct compound_state *",
605179193Sjb	    "nfsv4opinfo_t *" },
606179193Sjb	{ "nfsv4", "op-putfh-start", 2, 1, "PUTFH4args *" },
607179193Sjb	{ "nfsv4", "op-putfh-done", 0, 0, "struct compound_state *",
608179193Sjb	    "conninfo_t *" },
609179193Sjb	{ "nfsv4", "op-putfh-done", 1, 0, "struct compound_state *",
610179193Sjb	    "nfsv4opinfo_t *" },
611179193Sjb	{ "nfsv4", "op-putfh-done", 2, 1, "PUTFH4res *" },
612179193Sjb	{ "nfsv4", "op-putpubfh-start", 0, 0, "struct compound_state *",
613179193Sjb	    "conninfo_t *" },
614179193Sjb	{ "nfsv4", "op-putpubfh-start", 1, 0, "struct compound_state *",
615179193Sjb	    "nfsv4opinfo_t *" },
616179193Sjb	{ "nfsv4", "op-putpubfh-done", 0, 0, "struct compound_state *",
617179193Sjb	    "conninfo_t *" },
618179193Sjb	{ "nfsv4", "op-putpubfh-done", 1, 0, "struct compound_state *",
619179193Sjb	    "nfsv4opinfo_t *" },
620179193Sjb	{ "nfsv4", "op-putpubfh-done", 2, 1, "PUTPUBFH4res *" },
621179193Sjb	{ "nfsv4", "op-putrootfh-start", 0, 0, "struct compound_state *",
622179193Sjb	    "conninfo_t *" },
623179193Sjb	{ "nfsv4", "op-putrootfh-start", 1, 0, "struct compound_state *",
624179193Sjb	    "nfsv4opinfo_t *" },
625179193Sjb	{ "nfsv4", "op-putrootfh-done", 0, 0, "struct compound_state *",
626179193Sjb	    "conninfo_t *" },
627179193Sjb	{ "nfsv4", "op-putrootfh-done", 1, 0, "struct compound_state *",
628179193Sjb	    "nfsv4opinfo_t *" },
629179193Sjb	{ "nfsv4", "op-putrootfh-done", 2, 1, "PUTROOTFH4res *" },
630179193Sjb	{ "nfsv4", "op-read-start", 0, 0, "struct compound_state *",
631179193Sjb	    "conninfo_t *" },
632179193Sjb	{ "nfsv4", "op-read-start", 1, 0, "struct compound_state *",
633179193Sjb	    "nfsv4opinfo_t *" },
634179193Sjb	{ "nfsv4", "op-read-start", 2, 1, "READ4args *" },
635179193Sjb	{ "nfsv4", "op-read-done", 0, 0, "struct compound_state *",
636179193Sjb	    "conninfo_t *" },
637179193Sjb	{ "nfsv4", "op-read-done", 1, 0, "struct compound_state *",
638179193Sjb	    "nfsv4opinfo_t *" },
639179193Sjb	{ "nfsv4", "op-read-done", 2, 1, "READ4res *" },
640179193Sjb	{ "nfsv4", "op-readdir-start", 0, 0, "struct compound_state *",
641179193Sjb	    "conninfo_t *" },
642179193Sjb	{ "nfsv4", "op-readdir-start", 1, 0, "struct compound_state *",
643179193Sjb	    "nfsv4opinfo_t *" },
644179193Sjb	{ "nfsv4", "op-readdir-start", 2, 1, "READDIR4args *" },
645179193Sjb	{ "nfsv4", "op-readdir-done", 0, 0, "struct compound_state *",
646179193Sjb	    "conninfo_t *" },
647179193Sjb	{ "nfsv4", "op-readdir-done", 1, 0, "struct compound_state *",
648179193Sjb	    "nfsv4opinfo_t *" },
649179193Sjb	{ "nfsv4", "op-readdir-done", 2, 1, "READDIR4res *" },
650179193Sjb	{ "nfsv4", "op-readlink-start", 0, 0, "struct compound_state *",
651179193Sjb	    "conninfo_t *" },
652179193Sjb	{ "nfsv4", "op-readlink-start", 1, 0, "struct compound_state *",
653179193Sjb	    "nfsv4opinfo_t *" },
654179193Sjb	{ "nfsv4", "op-readlink-done", 0, 0, "struct compound_state *",
655179193Sjb	    "conninfo_t *" },
656179193Sjb	{ "nfsv4", "op-readlink-done", 1, 0, "struct compound_state *",
657179193Sjb	    "nfsv4opinfo_t *" },
658179193Sjb	{ "nfsv4", "op-readlink-done", 2, 1, "READLINK4res *" },
659179193Sjb	{ "nfsv4", "op-release-lockowner-start", 0, 0,
660179193Sjb	    "struct compound_state *", "conninfo_t *" },
661179193Sjb	{ "nfsv4", "op-release-lockowner-start", 1, 0,
662179193Sjb	    "struct compound_state *", "nfsv4opinfo_t *" },
663179193Sjb	{ "nfsv4", "op-release-lockowner-start", 2, 1,
664179193Sjb	    "RELEASE_LOCKOWNER4args *" },
665179193Sjb	{ "nfsv4", "op-release-lockowner-done", 0, 0,
666179193Sjb	    "struct compound_state *", "conninfo_t *" },
667179193Sjb	{ "nfsv4", "op-release-lockowner-done", 1, 0,
668179193Sjb	    "struct compound_state *", "nfsv4opinfo_t *" },
669179193Sjb	{ "nfsv4", "op-release-lockowner-done", 2, 1,
670179193Sjb	    "RELEASE_LOCKOWNER4res *" },
671179193Sjb	{ "nfsv4", "op-remove-start", 0, 0, "struct compound_state *",
672179193Sjb	    "conninfo_t *" },
673179193Sjb	{ "nfsv4", "op-remove-start", 1, 0, "struct compound_state *",
674179193Sjb	    "nfsv4opinfo_t *" },
675179193Sjb	{ "nfsv4", "op-remove-start", 2, 1, "REMOVE4args *" },
676179193Sjb	{ "nfsv4", "op-remove-done", 0, 0, "struct compound_state *",
677179193Sjb	    "conninfo_t *" },
678179193Sjb	{ "nfsv4", "op-remove-done", 1, 0, "struct compound_state *",
679179193Sjb	    "nfsv4opinfo_t *" },
680179193Sjb	{ "nfsv4", "op-remove-done", 2, 1, "REMOVE4res *" },
681179193Sjb	{ "nfsv4", "op-rename-start", 0, 0, "struct compound_state *",
682179193Sjb	    "conninfo_t *" },
683179193Sjb	{ "nfsv4", "op-rename-start", 1, 0, "struct compound_state *",
684179193Sjb	    "nfsv4opinfo_t *" },
685179193Sjb	{ "nfsv4", "op-rename-start", 2, 1, "RENAME4args *" },
686179193Sjb	{ "nfsv4", "op-rename-done", 0, 0, "struct compound_state *",
687179193Sjb	    "conninfo_t *" },
688179193Sjb	{ "nfsv4", "op-rename-done", 1, 0, "struct compound_state *",
689179193Sjb	    "nfsv4opinfo_t *" },
690179193Sjb	{ "nfsv4", "op-rename-done", 2, 1, "RENAME4res *" },
691179193Sjb	{ "nfsv4", "op-renew-start", 0, 0, "struct compound_state *",
692179193Sjb	    "conninfo_t *" },
693179193Sjb	{ "nfsv4", "op-renew-start", 1, 0, "struct compound_state *",
694179193Sjb	    "nfsv4opinfo_t *" },
695179193Sjb	{ "nfsv4", "op-renew-start", 2, 1, "RENEW4args *" },
696179193Sjb	{ "nfsv4", "op-renew-done", 0, 0, "struct compound_state *",
697179193Sjb	    "conninfo_t *" },
698179193Sjb	{ "nfsv4", "op-renew-done", 1, 0, "struct compound_state *",
699179193Sjb	    "nfsv4opinfo_t *" },
700179193Sjb	{ "nfsv4", "op-renew-done", 2, 1, "RENEW4res *" },
701179193Sjb	{ "nfsv4", "op-restorefh-start", 0, 0, "struct compound_state *",
702179193Sjb	    "conninfo_t *" },
703179193Sjb	{ "nfsv4", "op-restorefh-start", 1, 0, "struct compound_state *",
704179193Sjb	    "nfsv4opinfo_t *" },
705179193Sjb	{ "nfsv4", "op-restorefh-done", 0, 0, "struct compound_state *",
706179193Sjb	    "conninfo_t *" },
707179193Sjb	{ "nfsv4", "op-restorefh-done", 1, 0, "struct compound_state *",
708179193Sjb	    "nfsv4opinfo_t *" },
709179193Sjb	{ "nfsv4", "op-restorefh-done", 2, 1, "RESTOREFH4res *" },
710179193Sjb	{ "nfsv4", "op-savefh-start", 0, 0, "struct compound_state *",
711179193Sjb	    "conninfo_t *" },
712179193Sjb	{ "nfsv4", "op-savefh-start", 1, 0, "struct compound_state *",
713179193Sjb	    "nfsv4opinfo_t *" },
714179193Sjb	{ "nfsv4", "op-savefh-done", 0, 0, "struct compound_state *",
715179193Sjb	    "conninfo_t *" },
716179193Sjb	{ "nfsv4", "op-savefh-done", 1, 0, "struct compound_state *",
717179193Sjb	    "nfsv4opinfo_t *" },
718179193Sjb	{ "nfsv4", "op-savefh-done", 2, 1, "SAVEFH4res *" },
719179193Sjb	{ "nfsv4", "op-secinfo-start", 0, 0, "struct compound_state *",
720179193Sjb	    "conninfo_t *" },
721179193Sjb	{ "nfsv4", "op-secinfo-start", 1, 0, "struct compound_state *",
722179193Sjb	    "nfsv4opinfo_t *" },
723179193Sjb	{ "nfsv4", "op-secinfo-start", 2, 1, "SECINFO4args *" },
724179193Sjb	{ "nfsv4", "op-secinfo-done", 0, 0, "struct compound_state *",
725179193Sjb	    "conninfo_t *" },
726179193Sjb	{ "nfsv4", "op-secinfo-done", 1, 0, "struct compound_state *",
727179193Sjb	    "nfsv4opinfo_t *" },
728179193Sjb	{ "nfsv4", "op-secinfo-done", 2, 1, "SECINFO4res *" },
729179193Sjb	{ "nfsv4", "op-setattr-start", 0, 0, "struct compound_state *",
730179193Sjb	    "conninfo_t *" },
731179193Sjb	{ "nfsv4", "op-setattr-start", 1, 0, "struct compound_state *",
732179193Sjb	    "nfsv4opinfo_t *" },
733179193Sjb	{ "nfsv4", "op-setattr-start", 2, 1, "SETATTR4args *" },
734179193Sjb	{ "nfsv4", "op-setattr-done", 0, 0, "struct compound_state *",
735179193Sjb	    "conninfo_t *" },
736179193Sjb	{ "nfsv4", "op-setattr-done", 1, 0, "struct compound_state *",
737179193Sjb	    "nfsv4opinfo_t *" },
738179193Sjb	{ "nfsv4", "op-setattr-done", 2, 1, "SETATTR4res *" },
739179193Sjb	{ "nfsv4", "op-setclientid-start", 0, 0, "struct compound_state *",
740179193Sjb	    "conninfo_t *" },
741179193Sjb	{ "nfsv4", "op-setclientid-start", 1, 0, "struct compound_state *",
742179193Sjb	    "nfsv4opinfo_t *" },
743179193Sjb	{ "nfsv4", "op-setclientid-start", 2, 1, "SETCLIENTID4args *" },
744179193Sjb	{ "nfsv4", "op-setclientid-done", 0, 0, "struct compound_state *",
745179193Sjb	    "conninfo_t *" },
746179193Sjb	{ "nfsv4", "op-setclientid-done", 1, 0, "struct compound_state *",
747179193Sjb	    "nfsv4opinfo_t *" },
748179193Sjb	{ "nfsv4", "op-setclientid-done", 2, 1, "SETCLIENTID4res *" },
749179193Sjb	{ "nfsv4", "op-setclientid-confirm-start", 0, 0,
750179193Sjb	    "struct compound_state *", "conninfo_t *" },
751179193Sjb	{ "nfsv4", "op-setclientid-confirm-start", 1, 0,
752179193Sjb	    "struct compound_state *", "nfsv4opinfo_t *" },
753179193Sjb	{ "nfsv4", "op-setclientid-confirm-start", 2, 1,
754179193Sjb	    "SETCLIENTID_CONFIRM4args *" },
755179193Sjb	{ "nfsv4", "op-setclientid-confirm-done", 0, 0,
756179193Sjb	    "struct compound_state *", "conninfo_t *" },
757179193Sjb	{ "nfsv4", "op-setclientid-confirm-done", 1, 0,
758179193Sjb	    "struct compound_state *", "nfsv4opinfo_t *" },
759179193Sjb	{ "nfsv4", "op-setclientid-confirm-done", 2, 1,
760179193Sjb	    "SETCLIENTID_CONFIRM4res *" },
761179193Sjb	{ "nfsv4", "op-verify-start", 0, 0, "struct compound_state *",
762179193Sjb	    "conninfo_t *" },
763179193Sjb	{ "nfsv4", "op-verify-start", 1, 0, "struct compound_state *",
764179193Sjb	    "nfsv4opinfo_t *" },
765179193Sjb	{ "nfsv4", "op-verify-start", 2, 1, "VERIFY4args *" },
766179193Sjb	{ "nfsv4", "op-verify-done", 0, 0, "struct compound_state *",
767179193Sjb	    "conninfo_t *" },
768179193Sjb	{ "nfsv4", "op-verify-done", 1, 0, "struct compound_state *",
769179193Sjb	    "nfsv4opinfo_t *" },
770179193Sjb	{ "nfsv4", "op-verify-done", 2, 1, "VERIFY4res *" },
771179193Sjb	{ "nfsv4", "op-write-start", 0, 0, "struct compound_state *",
772179193Sjb	    "conninfo_t *" },
773179193Sjb	{ "nfsv4", "op-write-start", 1, 0, "struct compound_state *",
774179193Sjb	    "nfsv4opinfo_t *" },
775179193Sjb	{ "nfsv4", "op-write-start", 2, 1, "WRITE4args *" },
776179193Sjb	{ "nfsv4", "op-write-done", 0, 0, "struct compound_state *",
777179193Sjb	    "conninfo_t *" },
778179193Sjb	{ "nfsv4", "op-write-done", 1, 0, "struct compound_state *",
779179193Sjb	    "nfsv4opinfo_t *" },
780179193Sjb	{ "nfsv4", "op-write-done", 2, 1, "WRITE4res *" },
781179193Sjb	{ "nfsv4", "cb-recall-start", 0, 0, "rfs4_client_t *",
782179193Sjb	    "conninfo_t *" },
783179193Sjb	{ "nfsv4", "cb-recall-start", 1, 1, "rfs4_deleg_state_t *",
784179193Sjb	    "nfsv4cbinfo_t *" },
785179193Sjb	{ "nfsv4", "cb-recall-start", 2, 2, "CB_RECALL4args *" },
786179193Sjb	{ "nfsv4", "cb-recall-done", 0, 0, "rfs4_client_t *",
787179193Sjb	    "conninfo_t *" },
788179193Sjb	{ "nfsv4", "cb-recall-done", 1, 1, "rfs4_deleg_state_t *",
789179193Sjb	    "nfsv4cbinfo_t *" },
790179193Sjb	{ "nfsv4", "cb-recall-done", 2, 2, "CB_RECALL4res *" },
791179193Sjb
792179193Sjb	{ "sysevent", "post", 0, 0, "evch_bind_t *", "syseventchaninfo_t *" },
793179193Sjb	{ "sysevent", "post", 1, 1, "sysevent_impl_t *", "syseventinfo_t *" },
794179193Sjb
795179193Sjb	{ "xpv", "add-to-physmap-end", 0, 0, "int" },
796179193Sjb	{ "xpv", "add-to-physmap-start", 0, 0, "domid_t" },
797179193Sjb	{ "xpv", "add-to-physmap-start", 1, 1, "uint_t" },
798179193Sjb	{ "xpv", "add-to-physmap-start", 2, 2, "ulong_t" },
799179193Sjb	{ "xpv", "add-to-physmap-start", 3, 3, "ulong_t" },
800179193Sjb	{ "xpv", "decrease-reservation-end", 0, 0, "int" },
801179193Sjb	{ "xpv", "decrease-reservation-start", 0, 0, "domid_t" },
802179193Sjb	{ "xpv", "decrease-reservation-start", 1, 1, "ulong_t" },
803179193Sjb	{ "xpv", "decrease-reservation-start", 2, 2, "uint_t" },
804179193Sjb	{ "xpv", "decrease-reservation-start", 3, 3, "ulong_t *" },
805179193Sjb	{ "xpv", "dom-create-start", 0, 0, "xen_domctl_t *" },
806179193Sjb	{ "xpv", "dom-destroy-start", 0, 0, "domid_t" },
807179193Sjb	{ "xpv", "dom-pause-start", 0, 0, "domid_t" },
808179193Sjb	{ "xpv", "dom-unpause-start", 0, 0, "domid_t" },
809179193Sjb	{ "xpv", "dom-create-end", 0, 0, "int" },
810179193Sjb	{ "xpv", "dom-destroy-end", 0, 0, "int" },
811179193Sjb	{ "xpv", "dom-pause-end", 0, 0, "int" },
812179193Sjb	{ "xpv", "dom-unpause-end", 0, 0, "int" },
813179193Sjb	{ "xpv", "evtchn-op-end", 0, 0, "int" },
814179193Sjb	{ "xpv", "evtchn-op-start", 0, 0, "int" },
815179193Sjb	{ "xpv", "evtchn-op-start", 1, 1, "void *" },
816179193Sjb	{ "xpv", "increase-reservation-end", 0, 0, "int" },
817179193Sjb	{ "xpv", "increase-reservation-start", 0, 0, "domid_t" },
818179193Sjb	{ "xpv", "increase-reservation-start", 1, 1, "ulong_t" },
819179193Sjb	{ "xpv", "increase-reservation-start", 2, 2, "uint_t" },
820179193Sjb	{ "xpv", "increase-reservation-start", 3, 3, "ulong_t *" },
821179193Sjb	{ "xpv", "mmap-end", 0, 0, "int" },
822179193Sjb	{ "xpv", "mmap-entry", 0, 0, "ulong_t" },
823179193Sjb	{ "xpv", "mmap-entry", 1, 1, "ulong_t" },
824179193Sjb	{ "xpv", "mmap-entry", 2, 2, "ulong_t" },
825179193Sjb	{ "xpv", "mmap-start", 0, 0, "domid_t" },
826179193Sjb	{ "xpv", "mmap-start", 1, 1, "int" },
827179193Sjb	{ "xpv", "mmap-start", 2, 2, "privcmd_mmap_entry_t *" },
828179193Sjb	{ "xpv", "mmapbatch-end", 0, 0, "int" },
829179193Sjb	{ "xpv", "mmapbatch-end", 1, 1, "struct seg *" },
830179193Sjb	{ "xpv", "mmapbatch-end", 2, 2, "caddr_t" },
831179193Sjb	{ "xpv", "mmapbatch-start", 0, 0, "domid_t" },
832179193Sjb	{ "xpv", "mmapbatch-start", 1, 1, "int" },
833179193Sjb	{ "xpv", "mmapbatch-start", 2, 2, "caddr_t" },
834179193Sjb	{ "xpv", "mmu-ext-op-end", 0, 0, "int" },
835179193Sjb	{ "xpv", "mmu-ext-op-start", 0, 0, "int" },
836179193Sjb	{ "xpv", "mmu-ext-op-start", 1, 1, "struct mmuext_op *" },
837179193Sjb	{ "xpv", "mmu-update-start", 0, 0, "int" },
838179193Sjb	{ "xpv", "mmu-update-start", 1, 1, "int" },
839179193Sjb	{ "xpv", "mmu-update-start", 2, 2, "mmu_update_t *" },
840179193Sjb	{ "xpv", "mmu-update-end", 0, 0, "int" },
841179193Sjb	{ "xpv", "populate-physmap-end", 0, 0, "int" },
842179193Sjb	{ "xpv", "populate-physmap-start", 0, 0, "domid_t" },
843179193Sjb	{ "xpv", "populate-physmap-start", 1, 1, "ulong_t" },
844179193Sjb	{ "xpv", "populate-physmap-start", 2, 2, "ulong_t *" },
845179193Sjb	{ "xpv", "set-memory-map-end", 0, 0, "int" },
846179193Sjb	{ "xpv", "set-memory-map-start", 0, 0, "domid_t" },
847179193Sjb	{ "xpv", "set-memory-map-start", 1, 1, "int" },
848179193Sjb	{ "xpv", "set-memory-map-start", 2, 2, "struct xen_memory_map *" },
849179193Sjb	{ "xpv", "setvcpucontext-end", 0, 0, "int" },
850179193Sjb	{ "xpv", "setvcpucontext-start", 0, 0, "domid_t" },
851179193Sjb	{ "xpv", "setvcpucontext-start", 1, 1, "vcpu_guest_context_t *" },
852179193Sjb	{ NULL }
853179193Sjb};
854179193Sjb
855179193Sjb/*ARGSUSED*/
856268578Srpauloint
857268578Srpaulosdt_mode(void *arg, dtrace_id_t id, void *parg)
858268578Srpaulo{
859268578Srpaulo	/*
860268578Srpaulo	 * We tell DTrace that we're in kernel mode, that the firing needs to
861268578Srpaulo	 * be dropped for anything that doesn't have necessary privileges, and
862268578Srpaulo	 * that it needs to be restricted for anything that has restricted
863268578Srpaulo	 * (i.e., not all-zone) privileges.
864268578Srpaulo	 */
865268578Srpaulo	return (DTRACE_MODE_KERNEL | DTRACE_MODE_NOPRIV_DROP |
866268578Srpaulo	    DTRACE_MODE_LIMITEDPRIV_RESTRICT);
867268578Srpaulo}
868268578Srpaulo
869268578Srpaulo/*ARGSUSED*/
870179193Sjbvoid
871179193Sjbsdt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc)
872179193Sjb{
873179193Sjb	sdt_probe_t *sdp = parg;
874179193Sjb	int i;
875179193Sjb
876179193Sjb	desc->dtargd_native[0] = '\0';
877179193Sjb	desc->dtargd_xlate[0] = '\0';
878179193Sjb
879179193Sjb	for (i = 0; sdt_args[i].sda_provider != NULL; i++) {
880179193Sjb		sdt_argdesc_t *a = &sdt_args[i];
881179193Sjb
882179193Sjb		if (strcmp(sdp->sdp_provider->sdtp_name, a->sda_provider) != 0)
883179193Sjb			continue;
884179193Sjb
885179193Sjb		if (a->sda_name != NULL &&
886179193Sjb		    strcmp(sdp->sdp_name, a->sda_name) != 0)
887179193Sjb			continue;
888179193Sjb
889179193Sjb		if (desc->dtargd_ndx != a->sda_ndx)
890179193Sjb			continue;
891179193Sjb
892179193Sjb		if (a->sda_native != NULL)
893179193Sjb			(void) strcpy(desc->dtargd_native, a->sda_native);
894179193Sjb
895179193Sjb		if (a->sda_xlate != NULL)
896179193Sjb			(void) strcpy(desc->dtargd_xlate, a->sda_xlate);
897179193Sjb
898179193Sjb		desc->dtargd_mapping = a->sda_mapping;
899179193Sjb		return;
900179193Sjb	}
901179193Sjb
902179193Sjb	desc->dtargd_ndx = DTRACE_ARGNONE;
903179193Sjb}
904