Lines Matching defs:fbt

23  * $FreeBSD: stable/11/sys/cddl/dev/fbt/x86/fbt_isa.c 307837 2016-10-24 01:29:46Z markj $
37 #include "fbt.h"
66 fbt_probe_t *fbt;
76 fbt = fbt_probetab[FBT_ADDR2NDX(addr)];
77 for (; fbt != NULL; fbt = fbt->fbtp_hashnext) {
78 if ((uintptr_t)fbt->fbtp_patchpoint == addr) {
79 if (fbt->fbtp_roffset == 0) {
81 /* fbt->fbtp_rval == DTRACE_INVOP_PUSHQ_RBP */
113 dtrace_probe(fbt->fbtp_id, arg0, arg1,
131 dtrace_probe(fbt->fbtp_id, fbt->fbtp_roffset,
136 return (fbt->fbtp_rval);
144 fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
147 *fbt->fbtp_patchpoint = val;
156 fbt_probe_t *fbt, *retfbt;
212 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
213 fbt->fbtp_name = name;
214 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
215 name, FBT_ENTRY, 3, fbt);
216 fbt->fbtp_patchpoint = instr;
217 fbt->fbtp_ctl = lf;
218 fbt->fbtp_loadcnt = lf->loadcnt;
219 fbt->fbtp_rval = DTRACE_INVOP_PUSHL_EBP;
220 fbt->fbtp_savedval = *instr;
221 fbt->fbtp_patchval = FBT_PATCHVAL;
222 fbt->fbtp_symindx = symindx;
224 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
225 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
294 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
295 fbt->fbtp_name = name;
298 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
299 name, FBT_RETURN, 3, fbt);
301 retfbt->fbtp_next = fbt;
302 fbt->fbtp_id = retfbt->fbtp_id;
305 retfbt = fbt;
306 fbt->fbtp_patchpoint = instr;
307 fbt->fbtp_ctl = lf;
308 fbt->fbtp_loadcnt = lf->loadcnt;
309 fbt->fbtp_symindx = symindx;
313 fbt->fbtp_rval = DTRACE_INVOP_POPL_EBP;
316 fbt->fbtp_rval = DTRACE_INVOP_LEAVE;
318 fbt->fbtp_roffset =
323 fbt->fbtp_rval = DTRACE_INVOP_RET;
324 fbt->fbtp_roffset =
328 fbt->fbtp_savedval = *instr;
329 fbt->fbtp_patchval = FBT_PATCHVAL;
330 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
331 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;