Home
last modified time | relevance | path

Searched refs:modrm (Results 1 – 14 of 14) sorted by relevance

/linux/arch/x86/lib/
H A Dinsn.c384 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local
388 if (modrm->got) in insn_get_modrm()
397 insn_field_set(modrm, mod, 1); in insn_get_modrm()
414 modrm->got = 1; in insn_get_modrm()
431 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local
444 return (modrm->nbytes && (modrm->bytes[0] & 0xc7) == 0x5); in insn_rip_relative()
460 insn_byte_t modrm; in insn_get_sib() local
470 if (insn->modrm.nbytes) { in insn_get_sib()
471 modrm = insn->modrm.bytes[0]; in insn_get_sib()
473 X86_MODRM_MOD(modrm) != 3 && X86_MODRM_RM(modrm) == 4) { in insn_get_sib()
[all …]
H A Dinat.c45 insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id, in inat_get_group_attribute() argument
56 if (inat_has_variant(table[X86_MODRM_REG(modrm)]) && lpfx_id) { in inat_get_group_attribute()
61 return table[X86_MODRM_REG(modrm)] | in inat_get_group_attribute()
/linux/tools/arch/x86/lib/
H A Dinsn.c384 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local
388 if (modrm->got) in insn_get_modrm()
397 insn_field_set(modrm, mod, 1); in insn_get_modrm()
414 modrm->got = 1; in insn_get_modrm()
431 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local
444 return (modrm->nbytes && (modrm->bytes[0] & 0xc7) == 0x5); in insn_rip_relative()
460 insn_byte_t modrm; in insn_get_sib() local
470 if (insn->modrm.nbytes) { in insn_get_sib()
471 modrm = insn->modrm.bytes[0]; in insn_get_sib()
473 X86_MODRM_MOD(modrm) != 3 && X86_MODRM_RM(modrm) == 4) { in insn_get_sib()
[all …]
H A Dinat.c45 insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id, in inat_get_group_attribute() argument
56 if (inat_has_variant(table[X86_MODRM_REG(modrm)]) && lpfx_id) { in inat_get_group_attribute()
61 return table[X86_MODRM_REG(modrm)] | in inat_get_group_attribute()
/linux/tools/objtool/arch/x86/
H A Ddecode.c227 modrm = 0, modrm_mod = 0, modrm_rm = 0, modrm_reg = 0, in arch_decode_instruction() local
264 if (ins.modrm.nbytes) { in arch_decode_instruction()
265 modrm = ins.modrm.bytes[0]; in arch_decode_instruction()
266 modrm_mod = X86_MODRM_MOD(modrm); in arch_decode_instruction()
267 modrm_reg = X86_MODRM_REG(modrm) + 8*rex_r; in arch_decode_instruction()
268 modrm_rm = X86_MODRM_RM(modrm) + 8*rex_b; in arch_decode_instruction()
577 if (modrm == 0xca) in arch_decode_instruction()
582 if (modrm == 0xca) in arch_decode_instruction()
584 else if (modrm in arch_decode_instruction()
[all...]
/linux/arch/x86/kernel/kprobes/
H A Dcore.c185 return X86_MODRM_REG(insn->modrm.bytes[0]) != 0b110; in can_boost()
188 return X86_MODRM_REG(insn->modrm.bytes[0]) != 0b001; in can_boost()
191 return X86_MODRM_REG(insn->modrm.bytes[0]) == 0b000 || in can_boost()
192 X86_MODRM_REG(insn->modrm.bytes[0]) == 0b001; in can_boost()
195 return X86_MODRM_REG(insn->modrm.bytes[0]) == 0b000 || in can_boost()
196 X86_MODRM_REG(insn->modrm.bytes[0]) == 0b001 || in can_boost()
197 X86_MODRM_REG(insn->modrm.bytes[0]) == 0b100; in can_boost()
672 X86_MODRM_REG(insn->modrm.bytes[0]) == 0 && in prepare_emulation()
673 X86_MODRM_MOD(insn->modrm.bytes[0]) == 3) { in prepare_emulation()
692 opcode = insn->modrm.bytes[0]; in prepare_emulation()
/linux/tools/perf/util/intel-pt-decoder/
H A Dintel-pt-insn-decoder.c46 switch (insn->modrm.bytes[0]) { in intel_pt_insn_decoder()
142 ext = (insn->modrm.bytes[0] >> 3) & 0x7; in intel_pt_insn_decoder()
/linux/arch/x86/tools/
H A Dinsn_decoder_test.c76 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
H A Dinsn_sanity.c70 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
/linux/arch/x86/kernel/
H A Dalternative.c730 u8 modrm; in emit_indirect() local
740 modrm = 0x10; /* Reg = 2; CALL r/m */ in emit_indirect()
749 modrm = 0x20; /* Reg = 4; JMP r/m */ in emit_indirect()
766 modrm |= 0xc0; /* Mod = 3 */ in emit_indirect()
767 modrm += reg; in emit_indirect()
770 bytes[i++] = modrm; in emit_indirect()
H A Duprobes.c47 #define MODRM_REG(insn) X86_MODRM_REG((insn)->modrm.value)
/linux/tools/arch/x86/include/asm/
H A Dinat.h111 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
/linux/arch/x86/include/asm/
H A Dinat.h111 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
/linux/arch/x86/kvm/svm/
H A Dsvm.c2289 switch (ctxt->modrm) {