Lines Matching defs:fbt

24  * $FreeBSD: stable/11/sys/cddl/dev/fbt/powerpc/fbt_isa.c 318572 2017-05-20 05:12:32Z jhibbits $
38 #include "fbt.h"
57 fbt_probe_t *fbt = fbt_probetab[FBT_ADDR2NDX(addr)];
60 for (; fbt != NULL; fbt = fbt->fbtp_hashnext) {
61 if ((uintptr_t)fbt->fbtp_patchpoint == addr) {
62 if (fbt->fbtp_roffset == 0) {
65 dtrace_probe(fbt->fbtp_id, frame->fixreg[3],
72 dtrace_probe(fbt->fbtp_id, fbt->fbtp_roffset,
75 * The caller doesn't have the fbt item, so
78 if (fbt->fbtp_rval == DTRACE_INVOP_JUMP) {
79 frame->srr0 = (uintptr_t)fbt->fbtp_patchpoint;
80 tmp = fbt->fbtp_savedval & FBT_BR_MASK;
93 return (fbt->fbtp_rval);
101 fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
104 *fbt->fbtp_patchpoint = val;
105 __syncicache(fbt->fbtp_patchpoint, 4);
114 fbt_probe_t *fbt, *retfbt;
151 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
152 fbt->fbtp_name = name;
153 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
154 name, FBT_ENTRY, FBT_AFRAMES, fbt);
155 fbt->fbtp_patchpoint = instr;
156 fbt->fbtp_ctl = lf;
157 fbt->fbtp_loadcnt = lf->loadcnt;
158 fbt->fbtp_savedval = *instr;
159 fbt->fbtp_patchval = FBT_PATCHVAL;
160 fbt->fbtp_rval = DTRACE_INVOP_MFLR_R0;
161 fbt->fbtp_symindx = symindx;
163 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
164 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
212 fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
213 fbt->fbtp_name = name;
216 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
217 name, FBT_RETURN, FBT_AFRAMES, fbt);
219 retfbt->fbtp_next = fbt;
220 fbt->fbtp_id = retfbt->fbtp_id;
223 retfbt = fbt;
224 fbt->fbtp_patchpoint = instr;
225 fbt->fbtp_ctl = lf;
226 fbt->fbtp_loadcnt = lf->loadcnt;
227 fbt->fbtp_symindx = symindx;
230 fbt->fbtp_rval = DTRACE_INVOP_BCTR;
232 fbt->fbtp_rval = DTRACE_INVOP_RET;
234 fbt->fbtp_rval = DTRACE_INVOP_JUMP;
236 fbt->fbtp_roffset =
239 fbt->fbtp_savedval = *instr;
240 fbt->fbtp_patchval = FBT_PATCHVAL;
241 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
242 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;