Lines Matching defs:fbt

26 /* #pragma ident	"@(#)fbt.c	1.18	07/01/10 SMI" */
49 #include <sys/fbt.h>
81 fbt_probe_t *fbt = parg, *next, *hash, *last;
88 ndx = FBT_ADDR2NDX(fbt->fbtp_patchpoint);
92 while (hash != fbt) {
99 last->fbtp_hashnext = fbt->fbtp_hashnext;
101 fbt_probetab[ndx] = fbt->fbtp_hashnext;
104 next = fbt->fbtp_next;
105 kmem_free(fbt, sizeof (fbt_probe_t));
107 fbt = next;
108 } while (fbt != NULL);
116 fbt_probe_t *fbt = parg;
119 for (; fbt != NULL; fbt = fbt->fbtp_next) {
121 ctl = fbt->fbtp_ctl;
125 cmn_err(CE_NOTE, "fbt is failing for probe %s "
127 fbt->fbtp_name, ctl->mod_modname);
138 if (ctl->mod_loadcnt != fbt->fbtp_loadcnt) {
140 cmn_err(CE_NOTE, "fbt is failing for probe %s "
142 fbt->fbtp_name, ctl->mod_modname);
153 fbt->fbtp_name, ctl->mod_modname);
158 if (fbt->fbtp_currentval != fbt->fbtp_patchval) {
159 (void)ml_nofault_copy( (vm_offset_t)&fbt->fbtp_patchval, (vm_offset_t)fbt->fbtp_patchpoint,
160 sizeof(fbt->fbtp_patchval));
161 fbt->fbtp_currentval = fbt->fbtp_patchval;
177 fbt_probe_t *fbt = parg;
180 for (; fbt != NULL; fbt = fbt->fbtp_next) {
181 ctl = fbt->fbtp_ctl;
183 if (!ctl->mod_loaded || (ctl->mod_loadcnt != fbt->fbtp_loadcnt))
186 if (fbt->fbtp_currentval != fbt->fbtp_savedval) {
187 (void)ml_nofault_copy( (vm_offset_t)&fbt->fbtp_savedval, (vm_offset_t)fbt->fbtp_patchpoint,
188 sizeof(fbt->fbtp_savedval));
189 fbt->fbtp_currentval = fbt->fbtp_savedval;
202 fbt_probe_t *fbt = parg;
205 for (; fbt != NULL; fbt = fbt->fbtp_next) {
206 ctl = fbt->fbtp_ctl;
209 if (!ctl->mod_loaded || (ctl->mod_loadcnt != fbt->fbtp_loadcnt))
212 (void)ml_nofault_copy( (vm_offset_t)&fbt->fbtp_savedval, (vm_offset_t)fbt->fbtp_patchpoint,
213 sizeof(fbt->fbtp_savedval));
216 fbt->fbtp_currentval = fbt->fbtp_savedval;
227 fbt_probe_t *fbt = parg;
230 for (; fbt != NULL; fbt = fbt->fbtp_next) {
231 ctl = fbt->fbtp_ctl;
234 if (!ctl->mod_loaded || (ctl->mod_loadcnt != fbt->fbtp_loadcnt))
242 fbt->fbtp_name, ctl->mod_modname);
247 (void)ml_nofault_copy( (vm_offset_t)&fbt->fbtp_patchval, (vm_offset_t)fbt->fbtp_patchpoint,
248 sizeof(fbt->fbtp_patchval));
251 fbt->fbtp_currentval = fbt->fbtp_patchval;
265 fbt_probe_t *fbt = parg;
266 struct modctl *ctl = fbt->fbtp_ctl;
275 if (!ctl->mod_loaded || (ctl->mod_loadcnt != fbt->fbtp_loadcnt))
278 if (fbt->fbtp_roffset != 0 && desc->dtargd_ndx == 0) {
325 if (ctf_func_info(fp, fbt->fbtp_symndx, &f) == CTF_ERR)
328 if (fbt->fbtp_roffset != 0) {
338 if (ctf_func_args(fp, fbt->fbtp_symndx, argc, argv) == CTF_ERR)
409 if (ddi_create_minor_node(devi, "fbt", S_IFCHR, 0,
411 dtrace_register("fbt", &fbt_attr, DTRACE_PRIV_KERNEL, NULL,