Lines Matching refs:bytes
245 kinst_set_disp32(struct kinst_probe *kp, uint8_t *bytes) in kinst_set_disp32() argument
249 memcpy(&disp32, bytes, sizeof(disp32)); in kinst_set_disp32()
283 uint8_t *bytes, modrm, rex; in kinst_instr_dissect() local
295 bytes = d86.d86_bytes; in kinst_instr_dissect()
303 switch (bytes[i]) { in kinst_instr_dissect()
323 rex = bytes[i]; in kinst_instr_dissect()
329 ("%s: failed to disassemble instruction at %p", __func__, bytes)); in kinst_instr_dissect()
337 switch (bytes[opcidx]) { in kinst_instr_dissect()
339 switch (bytes[opcidx + 1]) { in kinst_instr_dissect()
344 kinst_set_disp32(kp, &bytes[dispoff]); in kinst_instr_dissect()
359 kinst_set_disp8(kp, bytes[dispoff]); in kinst_instr_dissect()
365 kinst_set_disp32(kp, &bytes[dispoff]); in kinst_instr_dissect()
371 kinst_set_disp8(kp, bytes[dispoff]); in kinst_instr_dissect()
378 kinst_set_disp32(kp, &bytes[dispoff]); in kinst_instr_dissect()
383 switch (KINST_MODRM_REG(bytes[d86.d86_rmindex])) { in kinst_instr_dissect()
408 modrm = bytes[d86.d86_rmindex]; in kinst_instr_dissect()
414 kinst_set_disp32(kp, &bytes[dispoff]); in kinst_instr_dissect()
421 kinst_set_disp8(kp, bytes[dispoff]); in kinst_instr_dissect()
423 kinst_set_disp32(kp, &bytes[dispoff]); in kinst_instr_dissect()
428 sib = bytes[d86.d86_rmindex + 1]; in kinst_instr_dissect()
461 bytes[opcidx] == 0x0f || in kinst_instr_dissect()
462 bytes[opcidx] == 0xe9 || in kinst_instr_dissect()
463 bytes[opcidx] == 0xff) { in kinst_instr_dissect()
464 memcpy(kpmd->template, bytes, dispoff); in kinst_instr_dissect()
466 &bytes[dispoff + 4], ilen - (dispoff + 4)); in kinst_instr_dissect()
468 } else if (bytes[opcidx] == 0xeb) { in kinst_instr_dissect()
469 memcpy(kpmd->template, bytes, opcidx); in kinst_instr_dissect()
476 } else if (bytes[opcidx] >= 0x70 && bytes[opcidx] <= 0x7f) { in kinst_instr_dissect()
477 memcpy(kpmd->template, bytes, opcidx); in kinst_instr_dissect()
479 kpmd->template[opcidx + 1] = bytes[opcidx] + 0x10; in kinst_instr_dissect()
486 panic("unhandled opcode %#x", bytes[opcidx]); in kinst_instr_dissect()
489 memcpy(kpmd->template, bytes, ilen); in kinst_instr_dissect()