Home
last modified time | relevance | path

Searched refs:kpmd (Results 1 – 3 of 3) sorted by relevance

/freebsd/sys/cddl/dev/kinst/amd64/
H A Dkinst_isa.c142 struct kinst_probe_md *kpmd; in kinst_invop() local
167 kpmd = &kp->kp_md; in kinst_invop()
168 if ((kpmd->flags & KINST_F_CALL) != 0) { in kinst_invop()
173 retaddr = (uintptr_t)(kp->kp_patchpoint + kpmd->instlen); in kinst_invop()
176 if ((kpmd->flags & KINST_F_DIRECT_CALL) != 0) { in kinst_invop()
178 kpmd->disp + kpmd->instlen); in kinst_invop()
182 if (kpmd->reg1 == -1 && kpmd->reg2 == -1) { in kinst_invop()
184 rval = frame->tf_rip + kpmd->instlen; in kinst_invop()
187 rval = kinst_regval(frame, kpmd->reg1) + in kinst_invop()
188 (kinst_regval(frame, kpmd->reg2) << in kinst_invop()
[all …]
/freebsd/sys/cddl/dev/kinst/aarch64/
H A Dkinst_isa.c249 struct kinst_probe_md *kpmd; in kinst_instr_dissect() local
252 kpmd = &kp->kp_md; in kinst_instr_dissect()
253 kpmd->emulate = false; in kinst_instr_dissect()
256 kpmd->emulate = true; /* adr/adrp */ in kinst_instr_dissect()
258 kpmd->emulate = true; /* b */ in kinst_instr_dissect()
260 kpmd->emulate = true; /* b.cond */ in kinst_instr_dissect()
262 kpmd->emulate = true; /* bl */ in kinst_instr_dissect()
264 kpmd->emulate = true; /* cbnz/cbz */ in kinst_instr_dissect()
266 kpmd->emulate = true; /* tbnz/tbz */ in kinst_instr_dissect()
268 if (!kpmd->emulate) in kinst_instr_dissect()
/freebsd/sys/cddl/dev/kinst/riscv/
H A Dkinst_isa.c364 struct kinst_probe_md *kpmd; in kinst_instr_dissect() local
368 kpmd = &kp->kp_md; in kinst_instr_dissect()
369 kpmd->instlen = instrsize; in kinst_instr_dissect()
370 kpmd->emulate = false; in kinst_instr_dissect()
376 if (kpmd->instlen == INSN_SIZE) { in kinst_instr_dissect()
382 kpmd->emulate = true; in kinst_instr_dissect()
393 kpmd->emulate = true; in kinst_instr_dissect()
402 kpmd->emulate = true; /* c.jr/c.jalr */ in kinst_instr_dissect()
407 if (!kpmd->emulate) in kinst_instr_dissect()