Lines Matching defs:fbt

41 #include "fbt.h"
51 fbt_probe_t *fbt;
54 fbt = fbt_probetab[FBT_ADDR2NDX(addr)];
56 for (; fbt != NULL; fbt = fbt->fbtp_hashnext) {
57 if ((uintptr_t)fbt->fbtp_patchpoint == addr) {
60 dtrace_probe(fbt->fbtp_id, frame->tf_a[0],
65 return (fbt->fbtp_savedval);
73 fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
76 *fbt->fbtp_patchpoint = val;
77 cpu_icache_sync_range((vm_offset_t)fbt->fbtp_patchpoint, 4);
84 fbt_probe_t *fbt, *retfbt;
110 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
111 fbt->fbtp_name = name;
112 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
113 name, FBT_ENTRY, 3, fbt);
114 fbt->fbtp_patchpoint = instr;
115 fbt->fbtp_ctl = lf;
116 fbt->fbtp_loadcnt = lf->loadcnt;
117 fbt->fbtp_savedval = *instr;
118 fbt->fbtp_patchval = FBT_PATCHVAL;
119 fbt->fbtp_rval = DTRACE_INVOP_SD;
120 fbt->fbtp_symindx = symindx;
122 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
123 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
140 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
141 fbt->fbtp_name = name;
143 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
144 name, FBT_RETURN, 3, fbt);
146 retfbt->fbtp_next = fbt;
147 fbt->fbtp_id = retfbt->fbtp_id;
149 retfbt = fbt;
151 fbt->fbtp_patchpoint = instr;
152 fbt->fbtp_ctl = lf;
153 fbt->fbtp_loadcnt = lf->loadcnt;
154 fbt->fbtp_symindx = symindx;
155 fbt->fbtp_rval = DTRACE_INVOP_RET;
156 fbt->fbtp_savedval = *instr;
157 fbt->fbtp_patchval = FBT_PATCHVAL;
158 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
159 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;