1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26 #pragma ident "%Z%%M% %I% %E% SMI" 27 28 #include <sys/sdt_impl.h> 29 30 static dtrace_pattr_t vtrace_attr = { 31 { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA }, 32 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 33 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 34 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 35 { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA }, 36 }; 37 38 static dtrace_pattr_t info_attr = { 39 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 40 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 41 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 42 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 43 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, 44 }; 45 46 static dtrace_pattr_t fpu_attr = { 47 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 48 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 49 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 50 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_CPU }, 51 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, 52 }; 53 54 static dtrace_pattr_t fsinfo_attr = { 55 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 56 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 57 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 58 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 59 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 60 }; 61 62 static dtrace_pattr_t nfsv4_attr = { 63 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 64 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 65 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 66 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 67 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 68 }; 69 70 static dtrace_pattr_t stab_attr = { 71 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 72 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 73 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 74 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 75 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 76 }; 77 78 static dtrace_pattr_t sdt_attr = { 79 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA }, 80 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 81 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 82 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, 83 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, 84 }; 85 86 static dtrace_pattr_t xpv_attr = { 87 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_PLATFORM }, 88 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 89 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, 90 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM }, 91 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM }, 92 }; 93 94 sdt_provider_t sdt_providers[] = { 95 { "vtrace", "__vtrace_", &vtrace_attr, 0 }, 96 { "sysinfo", "__cpu_sysinfo_", &info_attr, 0 }, 97 { "vminfo", "__cpu_vminfo_", &info_attr, 0 }, 98 { "fpuinfo", "__fpuinfo_", &fpu_attr, 0 }, 99 { "sched", "__sched_", &stab_attr, 0 }, 100 { "proc", "__proc_", &stab_attr, 0 }, 101 { "io", "__io_", &stab_attr, 0 }, 102 { "mib", "__mib_", &stab_attr, 0 }, 103 { "fsinfo", "__fsinfo_", &fsinfo_attr, 0 }, 104 { "nfsv4", "__nfsv4_", &nfsv4_attr, 0 }, 105 { "xpv", "__xpv_", &xpv_attr, 0 }, 106 { "sysevent", "__sysevent_", &stab_attr, 0 }, 107 { "sdt", NULL, &sdt_attr, 0 }, 108 { NULL } 109 }; 110 111 sdt_argdesc_t sdt_args[] = { 112 { "sched", "wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 113 { "sched", "wakeup", 1, 0, "kthread_t *", "psinfo_t *" }, 114 { "sched", "dequeue", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 115 { "sched", "dequeue", 1, 0, "kthread_t *", "psinfo_t *" }, 116 { "sched", "dequeue", 2, 1, "disp_t *", "cpuinfo_t *" }, 117 { "sched", "enqueue", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 118 { "sched", "enqueue", 1, 0, "kthread_t *", "psinfo_t *" }, 119 { "sched", "enqueue", 2, 1, "disp_t *", "cpuinfo_t *" }, 120 { "sched", "enqueue", 3, 2, "int" }, 121 { "sched", "off-cpu", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 122 { "sched", "off-cpu", 1, 0, "kthread_t *", "psinfo_t *" }, 123 { "sched", "tick", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 124 { "sched", "tick", 1, 0, "kthread_t *", "psinfo_t *" }, 125 { "sched", "change-pri", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 126 { "sched", "change-pri", 1, 0, "kthread_t *", "psinfo_t *" }, 127 { "sched", "change-pri", 2, 1, "pri_t" }, 128 { "sched", "schedctl-nopreempt", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 129 { "sched", "schedctl-nopreempt", 1, 0, "kthread_t *", "psinfo_t *" }, 130 { "sched", "schedctl-nopreempt", 2, 1, "int" }, 131 { "sched", "schedctl-preempt", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 132 { "sched", "schedctl-preempt", 1, 0, "kthread_t *", "psinfo_t *" }, 133 { "sched", "schedctl-yield", 0, 0, "int" }, 134 { "sched", "surrender", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 135 { "sched", "surrender", 1, 0, "kthread_t *", "psinfo_t *" }, 136 { "sched", "cpucaps-sleep", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 137 { "sched", "cpucaps-sleep", 1, 0, "kthread_t *", "psinfo_t *" }, 138 { "sched", "cpucaps-wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 139 { "sched", "cpucaps-wakeup", 1, 0, "kthread_t *", "psinfo_t *" }, 140 141 { "proc", "create", 0, 0, "proc_t *", "psinfo_t *" }, 142 { "proc", "exec", 0, 0, "string" }, 143 { "proc", "exec-failure", 0, 0, "int" }, 144 { "proc", "exit", 0, 0, "int" }, 145 { "proc", "fault", 0, 0, "int" }, 146 { "proc", "fault", 1, 1, "siginfo_t *" }, 147 { "proc", "lwp-create", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 148 { "proc", "lwp-create", 1, 0, "kthread_t *", "psinfo_t *" }, 149 { "proc", "signal-clear", 0, 0, "int" }, 150 { "proc", "signal-clear", 1, 1, "siginfo_t *" }, 151 { "proc", "signal-discard", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 152 { "proc", "signal-discard", 1, 1, "proc_t *", "psinfo_t *" }, 153 { "proc", "signal-discard", 2, 2, "int" }, 154 { "proc", "signal-handle", 0, 0, "int" }, 155 { "proc", "signal-handle", 1, 1, "siginfo_t *" }, 156 { "proc", "signal-handle", 2, 2, "void (*)(void)" }, 157 { "proc", "signal-send", 0, 0, "kthread_t *", "lwpsinfo_t *" }, 158 { "proc", "signal-send", 1, 0, "kthread_t *", "psinfo_t *" }, 159 { "proc", "signal-send", 2, 1, "int" }, 160 161 { "io", "start", 0, 0, "buf_t *", "bufinfo_t *" }, 162 { "io", "start", 1, 0, "buf_t *", "devinfo_t *" }, 163 { "io", "start", 2, 0, "buf_t *", "fileinfo_t *" }, 164 { "io", "done", 0, 0, "buf_t *", "bufinfo_t *" }, 165 { "io", "done", 1, 0, "buf_t *", "devinfo_t *" }, 166 { "io", "done", 2, 0, "buf_t *", "fileinfo_t *" }, 167 { "io", "wait-start", 0, 0, "buf_t *", "bufinfo_t *" }, 168 { "io", "wait-start", 1, 0, "buf_t *", "devinfo_t *" }, 169 { "io", "wait-start", 2, 0, "buf_t *", "fileinfo_t *" }, 170 { "io", "wait-done", 0, 0, "buf_t *", "bufinfo_t *" }, 171 { "io", "wait-done", 1, 0, "buf_t *", "devinfo_t *" }, 172 { "io", "wait-done", 2, 0, "buf_t *", "fileinfo_t *" }, 173 174 { "mib", NULL, 0, 0, "int" }, 175 176 { "fsinfo", NULL, 0, 0, "vnode_t *", "fileinfo_t *" }, 177 { "fsinfo", NULL, 1, 1, "int", "int" }, 178 179 { "nfsv4", "null-start", 0, 0, "struct svc_req *", "conninfo_t *" }, 180 { "nfsv4", "null-done", 0, 0, "struct svc_req *", "conninfo_t *" }, 181 { "nfsv4", "compound-start", 0, 0, "struct compound_state *", 182 "conninfo_t *" }, 183 { "nfsv4", "compound-start", 1, 0, "struct compound_state *", 184 "nfsv4opinfo_t *" }, 185 { "nfsv4", "compound-start", 2, 1, "COMPOUND4args *" }, 186 { "nfsv4", "compound-done", 0, 0, "struct compound_state *", 187 "conninfo_t *" }, 188 { "nfsv4", "compound-done", 1, 0, "struct compound_state *", 189 "nfsv4opinfo_t *" }, 190 { "nfsv4", "compound-done", 2, 1, "COMPOUND4res *" }, 191 { "nfsv4", "op-access-start", 0, 0, "struct compound_state *", 192 "conninfo_t *"}, 193 { "nfsv4", "op-access-start", 1, 0, "struct compound_state *", 194 "nfsv4opinfo_t *" }, 195 { "nfsv4", "op-access-start", 2, 1, "ACCESS4args *" }, 196 { "nfsv4", "op-access-done", 0, 0, "struct compound_state *", 197 "conninfo_t *" }, 198 { "nfsv4", "op-access-done", 1, 0, "struct compound_state *", 199 "nfsv4opinfo_t *" }, 200 { "nfsv4", "op-access-done", 2, 1, "ACCESS4res *" }, 201 { "nfsv4", "op-close-start", 0, 0, "struct compound_state *", 202 "conninfo_t *" }, 203 { "nfsv4", "op-close-start", 1, 0, "struct compound_state *", 204 "nfsv4opinfo_t *" }, 205 { "nfsv4", "op-close-start", 2, 1, "CLOSE4args *" }, 206 { "nfsv4", "op-close-done", 0, 0, "struct compound_state *", 207 "conninfo_t *" }, 208 { "nfsv4", "op-close-done", 1, 0, "struct compound_state *", 209 "nfsv4opinfo_t *" }, 210 { "nfsv4", "op-close-done", 2, 1, "CLOSE4res *" }, 211 { "nfsv4", "op-commit-start", 0, 0, "struct compound_state *", 212 "conninfo_t *" }, 213 { "nfsv4", "op-commit-start", 1, 0, "struct compound_state *", 214 "nfsv4opinfo_t *" }, 215 { "nfsv4", "op-commit-start", 2, 1, "COMMIT4args *" }, 216 { "nfsv4", "op-commit-done", 0, 0, "struct compound_state *", 217 "conninfo_t *" }, 218 { "nfsv4", "op-commit-done", 1, 0, "struct compound_state *", 219 "nfsv4opinfo_t *" }, 220 { "nfsv4", "op-commit-done", 2, 1, "COMMIT4res *" }, 221 { "nfsv4", "op-create-start", 0, 0, "struct compound_state *", 222 "conninfo_t *" }, 223 { "nfsv4", "op-create-start", 1, 0, "struct compound_state *", 224 "nfsv4opinfo_t *" }, 225 { "nfsv4", "op-create-start", 2, 1, "CREATE4args *" }, 226 { "nfsv4", "op-create-done", 0, 0, "struct compound_state *", 227 "conninfo_t *" }, 228 { "nfsv4", "op-create-done", 1, 0, "struct compound_state *", 229 "nfsv4opinfo_t *" }, 230 { "nfsv4", "op-create-done", 2, 1, "CREATE4res *" }, 231 { "nfsv4", "op-delegpurge-start", 0, 0, "struct compound_state *", 232 "conninfo_t *" }, 233 { "nfsv4", "op-delegpurge-start", 1, 0, "struct compound_state *", 234 "nfsv4opinfo_t *" }, 235 { "nfsv4", "op-delegpurge-start", 2, 1, "DELEGPURGE4args *" }, 236 { "nfsv4", "op-delegpurge-done", 0, 0, "struct compound_state *", 237 "conninfo_t *" }, 238 { "nfsv4", "op-delegpurge-done", 1, 0, "struct compound_state *", 239 "nfsv4opinfo_t *" }, 240 { "nfsv4", "op-delegpurge-done", 2, 1, "DELEGPURGE4res *" }, 241 { "nfsv4", "op-delegreturn-start", 0, 0, "struct compound_state *", 242 "conninfo_t *" }, 243 { "nfsv4", "op-delegreturn-start", 1, 0, "struct compound_state *", 244 "nfsv4opinfo_t *" }, 245 { "nfsv4", "op-delegreturn-start", 2, 1, "DELEGRETURN4args *" }, 246 { "nfsv4", "op-delegreturn-done", 0, 0, "struct compound_state *", 247 "conninfo_t *" }, 248 { "nfsv4", "op-delegreturn-done", 1, 0, "struct compound_state *", 249 "nfsv4opinfo_t *" }, 250 { "nfsv4", "op-delegreturn-done", 2, 1, "DELEGRETURN4res *" }, 251 { "nfsv4", "op-getattr-start", 0, 0, "struct compound_state *", 252 "conninfo_t *" }, 253 { "nfsv4", "op-getattr-start", 1, 0, "struct compound_state *", 254 "nfsv4opinfo_t *" }, 255 { "nfsv4", "op-getattr-start", 2, 1, "GETATTR4args *" }, 256 { "nfsv4", "op-getattr-done", 0, 0, "struct compound_state *", 257 "conninfo_t *" }, 258 { "nfsv4", "op-getattr-done", 1, 0, "struct compound_state *", 259 "nfsv4opinfo_t *" }, 260 { "nfsv4", "op-getattr-done", 2, 1, "GETATTR4res *" }, 261 { "nfsv4", "op-getfh-start", 0, 0, "struct compound_state *", 262 "conninfo_t *" }, 263 { "nfsv4", "op-getfh-start", 1, 0, "struct compound_state *", 264 "nfsv4opinfo_t *" }, 265 { "nfsv4", "op-getfh-done", 0, 0, "struct compound_state *", 266 "conninfo_t *" }, 267 { "nfsv4", "op-getfh-done", 1, 0, "struct compound_state *", 268 "nfsv4opinfo_t *" }, 269 { "nfsv4", "op-getfh-done", 2, 1, "GETFH4res *" }, 270 { "nfsv4", "op-link-start", 0, 0, "struct compound_state *", 271 "conninfo_t *" }, 272 { "nfsv4", "op-link-start", 1, 0, "struct compound_state *", 273 "nfsv4opinfo_t *" }, 274 { "nfsv4", "op-link-start", 2, 1, "LINK4args *" }, 275 { "nfsv4", "op-link-done", 0, 0, "struct compound_state *", 276 "conninfo_t *" }, 277 { "nfsv4", "op-link-done", 1, 0, "struct compound_state *", 278 "nfsv4opinfo_t *" }, 279 { "nfsv4", "op-link-done", 2, 1, "LINK4res *" }, 280 { "nfsv4", "op-lock-start", 0, 0, "struct compound_state *", 281 "conninfo_t *" }, 282 { "nfsv4", "op-lock-start", 1, 0, "struct compound_state *", 283 "nfsv4opinfo_t *" }, 284 { "nfsv4", "op-lock-start", 2, 1, "LOCK4args *" }, 285 { "nfsv4", "op-lock-done", 0, 0, "struct compound_state *", 286 "conninfo_t *" }, 287 { "nfsv4", "op-lock-done", 1, 0, "struct compound_state *", 288 "nfsv4opinfo_t *" }, 289 { "nfsv4", "op-lock-done", 2, 1, "LOCK4res *" }, 290 { "nfsv4", "op-lockt-start", 0, 0, "struct compound_state *", 291 "conninfo_t *" }, 292 { "nfsv4", "op-lockt-start", 1, 0, "struct compound_state *", 293 "nfsv4opinfo_t *" }, 294 { "nfsv4", "op-lockt-start", 2, 1, "LOCKT4args *" }, 295 { "nfsv4", "op-lockt-done", 0, 0, "struct compound_state *", 296 "conninfo_t *" }, 297 { "nfsv4", "op-lockt-done", 1, 0, "struct compound_state *", 298 "nfsv4opinfo_t *" }, 299 { "nfsv4", "op-lockt-done", 2, 1, "LOCKT4res *" }, 300 { "nfsv4", "op-locku-start", 0, 0, "struct compound_state *", 301 "conninfo_t *" }, 302 { "nfsv4", "op-locku-start", 1, 0, "struct compound_state *", 303 "nfsv4opinfo_t *" }, 304 { "nfsv4", "op-locku-start", 2, 1, "LOCKU4args *" }, 305 { "nfsv4", "op-locku-done", 0, 0, "struct compound_state *", 306 "conninfo_t *" }, 307 { "nfsv4", "op-locku-done", 1, 0, "struct compound_state *", 308 "nfsv4opinfo_t *" }, 309 { "nfsv4", "op-locku-done", 2, 1, "LOCKU4res *" }, 310 { "nfsv4", "op-lookup-start", 0, 0, "struct compound_state *", 311 "conninfo_t *" }, 312 { "nfsv4", "op-lookup-start", 1, 0, "struct compound_state *", 313 "nfsv4opinfo_t *" }, 314 { "nfsv4", "op-lookup-start", 2, 1, "LOOKUP4args *" }, 315 { "nfsv4", "op-lookup-done", 0, 0, "struct compound_state *", 316 "conninfo_t *" }, 317 { "nfsv4", "op-lookup-done", 1, 0, "struct compound_state *", 318 "nfsv4opinfo_t *" }, 319 { "nfsv4", "op-lookup-done", 2, 1, "LOOKUP4res *" }, 320 { "nfsv4", "op-lookupp-start", 0, 0, "struct compound_state *", 321 "conninfo_t *" }, 322 { "nfsv4", "op-lookupp-start", 1, 0, "struct compound_state *", 323 "nfsv4opinfo_t *" }, 324 { "nfsv4", "op-lookupp-done", 0, 0, "struct compound_state *", 325 "conninfo_t *" }, 326 { "nfsv4", "op-lookupp-done", 1, 0, "struct compound_state *", 327 "nfsv4opinfo_t *" }, 328 { "nfsv4", "op-lookupp-done", 2, 1, "LOOKUPP4res *" }, 329 { "nfsv4", "op-nverify-start", 0, 0, "struct compound_state *", 330 "conninfo_t *" }, 331 { "nfsv4", "op-nverify-start", 1, 0, "struct compound_state *", 332 "nfsv4opinfo_t *" }, 333 { "nfsv4", "op-nverify-start", 2, 1, "NVERIFY4args *" }, 334 { "nfsv4", "op-nverify-done", 0, 0, "struct compound_state *", 335 "conninfo_t *" }, 336 { "nfsv4", "op-nverify-done", 1, 0, "struct compound_state *", 337 "nfsv4opinfo_t *" }, 338 { "nfsv4", "op-nverify-done", 2, 1, "NVERIFY4res *" }, 339 { "nfsv4", "op-open-start", 0, 0, "struct compound_state *", 340 "conninfo_t *" }, 341 { "nfsv4", "op-open-start", 1, 0, "struct compound_state *", 342 "nfsv4opinfo_t *" }, 343 { "nfsv4", "op-open-start", 2, 1, "OPEN4args *" }, 344 { "nfsv4", "op-open-done", 0, 0, "struct compound_state *", 345 "conninfo_t *" }, 346 { "nfsv4", "op-open-done", 1, 0, "struct compound_state *", 347 "nfsv4opinfo_t *" }, 348 { "nfsv4", "op-open-done", 2, 1, "OPEN4res *" }, 349 { "nfsv4", "op-open-confirm-start", 0, 0, "struct compound_state *", 350 "conninfo_t *" }, 351 { "nfsv4", "op-open-confirm-start", 1, 0, "struct compound_state *", 352 "nfsv4opinfo_t *" }, 353 { "nfsv4", "op-open-confirm-start", 2, 1, "OPEN_CONFIRM4args *" }, 354 { "nfsv4", "op-open-confirm-done", 0, 0, "struct compound_state *", 355 "conninfo_t *" }, 356 { "nfsv4", "op-open-confirm-done", 1, 0, "struct compound_state *", 357 "nfsv4opinfo_t *" }, 358 { "nfsv4", "op-open-confirm-done", 2, 1, "OPEN_CONFIRM4res *" }, 359 { "nfsv4", "op-open-downgrade-start", 0, 0, "struct compound_state *", 360 "conninfo_t *" }, 361 { "nfsv4", "op-open-downgrade-start", 1, 0, "struct compound_state *", 362 "nfsv4opinfo_t *" }, 363 { "nfsv4", "op-open-downgrade-start", 2, 1, "OPEN_DOWNGRADE4args *" }, 364 { "nfsv4", "op-open-downgrade-done", 0, 0, "struct compound_state *", 365 "conninfo_t *" }, 366 { "nfsv4", "op-open-downgrade-done", 1, 0, "struct compound_state *", 367 "nfsv4opinfo_t *" }, 368 { "nfsv4", "op-open-downgrade-done", 2, 1, "OPEN_DOWNGRADE4res *" }, 369 { "nfsv4", "op-openattr-start", 0, 0, "struct compound_state *", 370 "conninfo_t *" }, 371 { "nfsv4", "op-openattr-start", 1, 0, "struct compound_state *", 372 "nfsv4opinfo_t *" }, 373 { "nfsv4", "op-openattr-start", 2, 1, "OPENATTR4args *" }, 374 { "nfsv4", "op-openattr-done", 0, 0, "struct compound_state *", 375 "conninfo_t *" }, 376 { "nfsv4", "op-openattr-done", 1, 0, "struct compound_state *", 377 "nfsv4opinfo_t *" }, 378 { "nfsv4", "op-openattr-done", 2, 1, "OPENATTR4res *" }, 379 { "nfsv4", "op-putfh-start", 0, 0, "struct compound_state *", 380 "conninfo_t *" }, 381 { "nfsv4", "op-putfh-start", 1, 0, "struct compound_state *", 382 "nfsv4opinfo_t *" }, 383 { "nfsv4", "op-putfh-start", 2, 1, "PUTFH4args *" }, 384 { "nfsv4", "op-putfh-done", 0, 0, "struct compound_state *", 385 "conninfo_t *" }, 386 { "nfsv4", "op-putfh-done", 1, 0, "struct compound_state *", 387 "nfsv4opinfo_t *" }, 388 { "nfsv4", "op-putfh-done", 2, 1, "PUTFH4res *" }, 389 { "nfsv4", "op-putpubfh-start", 0, 0, "struct compound_state *", 390 "conninfo_t *" }, 391 { "nfsv4", "op-putpubfh-start", 1, 0, "struct compound_state *", 392 "nfsv4opinfo_t *" }, 393 { "nfsv4", "op-putpubfh-done", 0, 0, "struct compound_state *", 394 "conninfo_t *" }, 395 { "nfsv4", "op-putpubfh-done", 1, 0, "struct compound_state *", 396 "nfsv4opinfo_t *" }, 397 { "nfsv4", "op-putpubfh-done", 2, 1, "PUTPUBFH4res *" }, 398 { "nfsv4", "op-putrootfh-start", 0, 0, "struct compound_state *", 399 "conninfo_t *" }, 400 { "nfsv4", "op-putrootfh-start", 1, 0, "struct compound_state *", 401 "nfsv4opinfo_t *" }, 402 { "nfsv4", "op-putrootfh-done", 0, 0, "struct compound_state *", 403 "conninfo_t *" }, 404 { "nfsv4", "op-putrootfh-done", 1, 0, "struct compound_state *", 405 "nfsv4opinfo_t *" }, 406 { "nfsv4", "op-putrootfh-done", 2, 1, "PUTROOTFH4res *" }, 407 { "nfsv4", "op-read-start", 0, 0, "struct compound_state *", 408 "conninfo_t *" }, 409 { "nfsv4", "op-read-start", 1, 0, "struct compound_state *", 410 "nfsv4opinfo_t *" }, 411 { "nfsv4", "op-read-start", 2, 1, "READ4args *" }, 412 { "nfsv4", "op-read-done", 0, 0, "struct compound_state *", 413 "conninfo_t *" }, 414 { "nfsv4", "op-read-done", 1, 0, "struct compound_state *", 415 "nfsv4opinfo_t *" }, 416 { "nfsv4", "op-read-done", 2, 1, "READ4res *" }, 417 { "nfsv4", "op-readdir-start", 0, 0, "struct compound_state *", 418 "conninfo_t *" }, 419 { "nfsv4", "op-readdir-start", 1, 0, "struct compound_state *", 420 "nfsv4opinfo_t *" }, 421 { "nfsv4", "op-readdir-start", 2, 1, "READDIR4args *" }, 422 { "nfsv4", "op-readdir-done", 0, 0, "struct compound_state *", 423 "conninfo_t *" }, 424 { "nfsv4", "op-readdir-done", 1, 0, "struct compound_state *", 425 "nfsv4opinfo_t *" }, 426 { "nfsv4", "op-readdir-done", 2, 1, "READDIR4res *" }, 427 { "nfsv4", "op-readlink-start", 0, 0, "struct compound_state *", 428 "conninfo_t *" }, 429 { "nfsv4", "op-readlink-start", 1, 0, "struct compound_state *", 430 "nfsv4opinfo_t *" }, 431 { "nfsv4", "op-readlink-done", 0, 0, "struct compound_state *", 432 "conninfo_t *" }, 433 { "nfsv4", "op-readlink-done", 1, 0, "struct compound_state *", 434 "nfsv4opinfo_t *" }, 435 { "nfsv4", "op-readlink-done", 2, 1, "READLINK4res *" }, 436 { "nfsv4", "op-release-lockowner-start", 0, 0, 437 "struct compound_state *", "conninfo_t *" }, 438 { "nfsv4", "op-release-lockowner-start", 1, 0, 439 "struct compound_state *", "nfsv4opinfo_t *" }, 440 { "nfsv4", "op-release-lockowner-start", 2, 1, 441 "RELEASE_LOCKOWNER4args *" }, 442 { "nfsv4", "op-release-lockowner-done", 0, 0, 443 "struct compound_state *", "conninfo_t *" }, 444 { "nfsv4", "op-release-lockowner-done", 1, 0, 445 "struct compound_state *", "nfsv4opinfo_t *" }, 446 { "nfsv4", "op-release-lockowner-done", 2, 1, 447 "RELEASE_LOCKOWNER4res *" }, 448 { "nfsv4", "op-remove-start", 0, 0, "struct compound_state *", 449 "conninfo_t *" }, 450 { "nfsv4", "op-remove-start", 1, 0, "struct compound_state *", 451 "nfsv4opinfo_t *" }, 452 { "nfsv4", "op-remove-start", 2, 1, "REMOVE4args *" }, 453 { "nfsv4", "op-remove-done", 0, 0, "struct compound_state *", 454 "conninfo_t *" }, 455 { "nfsv4", "op-remove-done", 1, 0, "struct compound_state *", 456 "nfsv4opinfo_t *" }, 457 { "nfsv4", "op-remove-done", 2, 1, "REMOVE4res *" }, 458 { "nfsv4", "op-rename-start", 0, 0, "struct compound_state *", 459 "conninfo_t *" }, 460 { "nfsv4", "op-rename-start", 1, 0, "struct compound_state *", 461 "nfsv4opinfo_t *" }, 462 { "nfsv4", "op-rename-start", 2, 1, "RENAME4args *" }, 463 { "nfsv4", "op-rename-done", 0, 0, "struct compound_state *", 464 "conninfo_t *" }, 465 { "nfsv4", "op-rename-done", 1, 0, "struct compound_state *", 466 "nfsv4opinfo_t *" }, 467 { "nfsv4", "op-rename-done", 2, 1, "RENAME4res *" }, 468 { "nfsv4", "op-renew-start", 0, 0, "struct compound_state *", 469 "conninfo_t *" }, 470 { "nfsv4", "op-renew-start", 1, 0, "struct compound_state *", 471 "nfsv4opinfo_t *" }, 472 { "nfsv4", "op-renew-start", 2, 1, "RENEW4args *" }, 473 { "nfsv4", "op-renew-done", 0, 0, "struct compound_state *", 474 "conninfo_t *" }, 475 { "nfsv4", "op-renew-done", 1, 0, "struct compound_state *", 476 "nfsv4opinfo_t *" }, 477 { "nfsv4", "op-renew-done", 2, 1, "RENEW4res *" }, 478 { "nfsv4", "op-restorefh-start", 0, 0, "struct compound_state *", 479 "conninfo_t *" }, 480 { "nfsv4", "op-restorefh-start", 1, 0, "struct compound_state *", 481 "nfsv4opinfo_t *" }, 482 { "nfsv4", "op-restorefh-done", 0, 0, "struct compound_state *", 483 "conninfo_t *" }, 484 { "nfsv4", "op-restorefh-done", 1, 0, "struct compound_state *", 485 "nfsv4opinfo_t *" }, 486 { "nfsv4", "op-restorefh-done", 2, 1, "RESTOREFH4res *" }, 487 { "nfsv4", "op-savefh-start", 0, 0, "struct compound_state *", 488 "conninfo_t *" }, 489 { "nfsv4", "op-savefh-start", 1, 0, "struct compound_state *", 490 "nfsv4opinfo_t *" }, 491 { "nfsv4", "op-savefh-done", 0, 0, "struct compound_state *", 492 "conninfo_t *" }, 493 { "nfsv4", "op-savefh-done", 1, 0, "struct compound_state *", 494 "nfsv4opinfo_t *" }, 495 { "nfsv4", "op-savefh-done", 2, 1, "SAVEFH4res *" }, 496 { "nfsv4", "op-secinfo-start", 0, 0, "struct compound_state *", 497 "conninfo_t *" }, 498 { "nfsv4", "op-secinfo-start", 1, 0, "struct compound_state *", 499 "nfsv4opinfo_t *" }, 500 { "nfsv4", "op-secinfo-start", 2, 1, "SECINFO4args *" }, 501 { "nfsv4", "op-secinfo-done", 0, 0, "struct compound_state *", 502 "conninfo_t *" }, 503 { "nfsv4", "op-secinfo-done", 1, 0, "struct compound_state *", 504 "nfsv4opinfo_t *" }, 505 { "nfsv4", "op-secinfo-done", 2, 1, "SECINFO4res *" }, 506 { "nfsv4", "op-setattr-start", 0, 0, "struct compound_state *", 507 "conninfo_t *" }, 508 { "nfsv4", "op-setattr-start", 1, 0, "struct compound_state *", 509 "nfsv4opinfo_t *" }, 510 { "nfsv4", "op-setattr-start", 2, 1, "SETATTR4args *" }, 511 { "nfsv4", "op-setattr-done", 0, 0, "struct compound_state *", 512 "conninfo_t *" }, 513 { "nfsv4", "op-setattr-done", 1, 0, "struct compound_state *", 514 "nfsv4opinfo_t *" }, 515 { "nfsv4", "op-setattr-done", 2, 1, "SETATTR4res *" }, 516 { "nfsv4", "op-setclientid-start", 0, 0, "struct compound_state *", 517 "conninfo_t *" }, 518 { "nfsv4", "op-setclientid-start", 1, 0, "struct compound_state *", 519 "nfsv4opinfo_t *" }, 520 { "nfsv4", "op-setclientid-start", 2, 1, "SETCLIENTID4args *" }, 521 { "nfsv4", "op-setclientid-done", 0, 0, "struct compound_state *", 522 "conninfo_t *" }, 523 { "nfsv4", "op-setclientid-done", 1, 0, "struct compound_state *", 524 "nfsv4opinfo_t *" }, 525 { "nfsv4", "op-setclientid-done", 2, 1, "SETCLIENTID4res *" }, 526 { "nfsv4", "op-setclientid-confirm-start", 0, 0, 527 "struct compound_state *", "conninfo_t *" }, 528 { "nfsv4", "op-setclientid-confirm-start", 1, 0, 529 "struct compound_state *", "nfsv4opinfo_t *" }, 530 { "nfsv4", "op-setclientid-confirm-start", 2, 1, 531 "SETCLIENTID_CONFIRM4args *" }, 532 { "nfsv4", "op-setclientid-confirm-done", 0, 0, 533 "struct compound_state *", "conninfo_t *" }, 534 { "nfsv4", "op-setclientid-confirm-done", 1, 0, 535 "struct compound_state *", "nfsv4opinfo_t *" }, 536 { "nfsv4", "op-setclientid-confirm-done", 2, 1, 537 "SETCLIENTID_CONFIRM4res *" }, 538 { "nfsv4", "op-verify-start", 0, 0, "struct compound_state *", 539 "conninfo_t *" }, 540 { "nfsv4", "op-verify-start", 1, 0, "struct compound_state *", 541 "nfsv4opinfo_t *" }, 542 { "nfsv4", "op-verify-start", 2, 1, "VERIFY4args *" }, 543 { "nfsv4", "op-verify-done", 0, 0, "struct compound_state *", 544 "conninfo_t *" }, 545 { "nfsv4", "op-verify-done", 1, 0, "struct compound_state *", 546 "nfsv4opinfo_t *" }, 547 { "nfsv4", "op-verify-done", 2, 1, "VERIFY4res *" }, 548 { "nfsv4", "op-write-start", 0, 0, "struct compound_state *", 549 "conninfo_t *" }, 550 { "nfsv4", "op-write-start", 1, 0, "struct compound_state *", 551 "nfsv4opinfo_t *" }, 552 { "nfsv4", "op-write-start", 2, 1, "WRITE4args *" }, 553 { "nfsv4", "op-write-done", 0, 0, "struct compound_state *", 554 "conninfo_t *" }, 555 { "nfsv4", "op-write-done", 1, 0, "struct compound_state *", 556 "nfsv4opinfo_t *" }, 557 { "nfsv4", "op-write-done", 2, 1, "WRITE4res *" }, 558 { "nfsv4", "cb-recall-start", 0, 0, "rfs4_client_t *", 559 "conninfo_t *" }, 560 { "nfsv4", "cb-recall-start", 1, 1, "rfs4_deleg_state_t *", 561 "nfsv4cbinfo_t *" }, 562 { "nfsv4", "cb-recall-start", 2, 2, "CB_RECALL4args *" }, 563 { "nfsv4", "cb-recall-done", 0, 0, "rfs4_client_t *", 564 "conninfo_t *" }, 565 { "nfsv4", "cb-recall-done", 1, 1, "rfs4_deleg_state_t *", 566 "nfsv4cbinfo_t *" }, 567 { "nfsv4", "cb-recall-done", 2, 2, "CB_RECALL4res *" }, 568 569 { "sysevent", "post", 0, 0, "evch_bind_t *", "syseventchaninfo_t *" }, 570 { "sysevent", "post", 1, 1, "sysevent_impl_t *", "syseventinfo_t *" }, 571 572 { "xpv", "add-to-physmap-end", 0, 0, "int" }, 573 { "xpv", "add-to-physmap-start", 0, 0, "domid_t" }, 574 { "xpv", "add-to-physmap-start", 1, 1, "uint_t" }, 575 { "xpv", "add-to-physmap-start", 2, 2, "ulong_t" }, 576 { "xpv", "add-to-physmap-start", 3, 3, "ulong_t" }, 577 { "xpv", "decrease-reservation-end", 0, 0, "int" }, 578 { "xpv", "decrease-reservation-start", 0, 0, "domid_t" }, 579 { "xpv", "decrease-reservation-start", 1, 1, "ulong_t" }, 580 { "xpv", "decrease-reservation-start", 2, 2, "uint_t" }, 581 { "xpv", "decrease-reservation-start", 3, 3, "ulong_t *" }, 582 { "xpv", "dom-create-start", 0, 0, "xen_domctl_t *" }, 583 { "xpv", "dom-destroy-start", 0, 0, "domid_t" }, 584 { "xpv", "dom-pause-start", 0, 0, "domid_t" }, 585 { "xpv", "dom-unpause-start", 0, 0, "domid_t" }, 586 { "xpv", "dom-create-end", 0, 0, "int" }, 587 { "xpv", "dom-destroy-end", 0, 0, "int" }, 588 { "xpv", "dom-pause-end", 0, 0, "int" }, 589 { "xpv", "dom-unpause-end", 0, 0, "int" }, 590 { "xpv", "evtchn-op-end", 0, 0, "int" }, 591 { "xpv", "evtchn-op-start", 0, 0, "int" }, 592 { "xpv", "evtchn-op-start", 1, 1, "void *" }, 593 { "xpv", "increase-reservation-end", 0, 0, "int" }, 594 { "xpv", "increase-reservation-start", 0, 0, "domid_t" }, 595 { "xpv", "increase-reservation-start", 1, 1, "ulong_t" }, 596 { "xpv", "increase-reservation-start", 2, 2, "uint_t" }, 597 { "xpv", "increase-reservation-start", 3, 3, "ulong_t *" }, 598 { "xpv", "mmap-end", 0, 0, "int" }, 599 { "xpv", "mmap-entry", 0, 0, "ulong_t" }, 600 { "xpv", "mmap-entry", 1, 1, "ulong_t" }, 601 { "xpv", "mmap-entry", 2, 2, "ulong_t" }, 602 { "xpv", "mmap-start", 0, 0, "domid_t" }, 603 { "xpv", "mmap-start", 1, 1, "int" }, 604 { "xpv", "mmap-start", 2, 2, "privcmd_mmap_entry_t *" }, 605 { "xpv", "mmapbatch-end", 0, 0, "int" }, 606 { "xpv", "mmapbatch-end", 1, 1, "struct seg *" }, 607 { "xpv", "mmapbatch-end", 2, 2, "caddr_t" }, 608 { "xpv", "mmapbatch-start", 0, 0, "domid_t" }, 609 { "xpv", "mmapbatch-start", 1, 1, "int" }, 610 { "xpv", "mmapbatch-start", 2, 2, "caddr_t" }, 611 { "xpv", "mmu-ext-op-end", 0, 0, "int" }, 612 { "xpv", "mmu-ext-op-start", 0, 0, "int" }, 613 { "xpv", "mmu-ext-op-start", 1, 1, "struct mmuext_op *" }, 614 { "xpv", "mmu-update-start", 0, 0, "int" }, 615 { "xpv", "mmu-update-start", 1, 1, "int" }, 616 { "xpv", "mmu-update-start", 2, 2, "mmu_update_t *" }, 617 { "xpv", "mmu-update-end", 0, 0, "int" }, 618 { "xpv", "populate-physmap-end", 0, 0, "int" }, 619 { "xpv", "populate-physmap-start", 0, 0, "domid_t" }, 620 { "xpv", "populate-physmap-start", 1, 1, "ulong_t" }, 621 { "xpv", "populate-physmap-start", 2, 2, "ulong_t *" }, 622 { "xpv", "set-memory-map-end", 0, 0, "int" }, 623 { "xpv", "set-memory-map-start", 0, 0, "domid_t" }, 624 { "xpv", "set-memory-map-start", 1, 1, "int" }, 625 { "xpv", "set-memory-map-start", 2, 2, "struct xen_memory_map *" }, 626 { "xpv", "setvcpucontext-end", 0, 0, "int" }, 627 { "xpv", "setvcpucontext-start", 0, 0, "domid_t" }, 628 { "xpv", "setvcpucontext-start", 1, 1, "vcpu_guest_context_t *" }, 629 { NULL } 630 }; 631 632 /*ARGSUSED*/ 633 void 634 sdt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc) 635 { 636 sdt_probe_t *sdp = parg; 637 int i; 638 639 desc->dtargd_native[0] = '\0'; 640 desc->dtargd_xlate[0] = '\0'; 641 642 for (i = 0; sdt_args[i].sda_provider != NULL; i++) { 643 sdt_argdesc_t *a = &sdt_args[i]; 644 645 if (strcmp(sdp->sdp_provider->sdtp_name, a->sda_provider) != 0) 646 continue; 647 648 if (a->sda_name != NULL && 649 strcmp(sdp->sdp_name, a->sda_name) != 0) 650 continue; 651 652 if (desc->dtargd_ndx != a->sda_ndx) 653 continue; 654 655 if (a->sda_native != NULL) 656 (void) strcpy(desc->dtargd_native, a->sda_native); 657 658 if (a->sda_xlate != NULL) 659 (void) strcpy(desc->dtargd_xlate, a->sda_xlate); 660 661 desc->dtargd_mapping = a->sda_mapping; 662 return; 663 } 664 665 desc->dtargd_ndx = DTRACE_ARGNONE; 666 } 667