• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/cddl/dev/fbt/x86/

Lines Matching refs:fbt

40 #include "fbt.h"
69 fbt_probe_t *fbt;
80 fbt = fbt_probetab[FBT_ADDR2NDX(addr)];
81 for (; fbt != NULL; fbt = fbt->fbtp_hashnext) {
82 if ((uintptr_t)fbt->fbtp_patchpoint != addr)
84 fbtrval = fbt->fbtp_rval;
85 for (; fbt != NULL; fbt = fbt->fbtp_tracenext) {
86 ASSERT(fbt->fbtp_rval == fbtrval);
87 if (fbt->fbtp_roffset == 0) {
89 /* fbt->fbtp_rval == DTRACE_INVOP_PUSHQ_RBP */
121 dtrace_probe(fbt->fbtp_id, arg0, arg1,
139 dtrace_probe(fbt->fbtp_id, fbt->fbtp_roffset,
151 fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
158 *fbt->fbtp_patchpoint = val;
169 fbt_probe_t *fbt, *hash, *retfbt;
219 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
220 fbt->fbtp_name = name;
221 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
222 name, FBT_ENTRY, 3, fbt);
223 fbt->fbtp_patchpoint = instr;
224 fbt->fbtp_ctl = lf;
225 fbt->fbtp_loadcnt = lf->loadcnt;
226 fbt->fbtp_rval = DTRACE_INVOP_PUSHL_EBP;
227 fbt->fbtp_savedval = *instr;
228 fbt->fbtp_patchval = FBT_PATCHVAL;
229 fbt->fbtp_symindx = symindx;
233 if (hash->fbtp_patchpoint == fbt->fbtp_patchpoint) {
234 fbt->fbtp_tracenext = hash->fbtp_tracenext;
235 hash->fbtp_tracenext = fbt;
240 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
241 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
311 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
312 fbt->fbtp_name = name;
315 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
316 name, FBT_RETURN, 3, fbt);
318 retfbt->fbtp_probenext = fbt;
319 fbt->fbtp_id = retfbt->fbtp_id;
322 retfbt = fbt;
323 fbt->fbtp_patchpoint = instr;
324 fbt->fbtp_ctl = lf;
325 fbt->fbtp_loadcnt = lf->loadcnt;
326 fbt->fbtp_symindx = symindx;
330 fbt->fbtp_rval = DTRACE_INVOP_POPL_EBP;
333 fbt->fbtp_rval = DTRACE_INVOP_LEAVE;
335 fbt->fbtp_roffset =
340 fbt->fbtp_rval = DTRACE_INVOP_RET;
341 fbt->fbtp_roffset =
345 fbt->fbtp_savedval = *instr;
346 fbt->fbtp_patchval = FBT_PATCHVAL;
347 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
348 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;