Lines Matching refs:instr
108 uint8_t *instr; in kinst_trampoline_populate() local
132 instr = kp->kp_patchpoint + kp->kp_md.instlen; in kinst_trampoline_populate()
133 kinst_memcpy(&tramp[ilen + 6], &instr, sizeof(uintptr_t)); in kinst_trampoline_populate()
279 kinst_instr_dissect(struct kinst_probe *kp, uint8_t **instr) in kinst_instr_dissect() argument
288 d86.d86_data = instr; in kinst_instr_dissect()
292 KINST_LOG("failed to disassemble instruction at: %p", *instr); in kinst_instr_dissect()
382 ("no ModR/M byte for instr at %p", *instr - kpmd->instlen)); in kinst_instr_dissect()
503 uint8_t *instr, *limit, *tmp; in kinst_make_probe() local
513 instr = (uint8_t *)symval->value; in kinst_make_probe()
515 if (instr >= limit) in kinst_make_probe()
522 tmp = instr; in kinst_make_probe()
540 while (instr < limit) { in kinst_make_probe()
541 instrsize = dtrace_instr_size(instr); in kinst_make_probe()
542 off = (int)(instr - (uint8_t *)symval->value); in kinst_make_probe()
544 instr += instrsize; in kinst_make_probe()
559 (instr[0] == KINST_POPF || instr[0] == KINST_STI)) { in kinst_make_probe()
562 instr += instrsize; in kinst_make_probe()
570 LIST_FOREACH(kp, KINST_GETPROBE(instr), kp_hashnext) { in kinst_make_probe()
583 kp->kp_savedval = *instr; in kinst_make_probe()
585 kp->kp_patchpoint = instr; in kinst_make_probe()
587 error = kinst_instr_dissect(kp, &instr); in kinst_make_probe()