/Linux-v4.19/tools/objtool/arch/x86/lib/ |
D | insn.c | 268 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local 270 if (modrm->got) in insn_get_modrm() 277 modrm->value = mod; in insn_get_modrm() 278 modrm->nbytes = 1; in insn_get_modrm() 290 modrm->got = 1; in insn_get_modrm() 306 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local 310 if (!modrm->got) in insn_rip_relative() 316 return (modrm->nbytes && (modrm->value & 0xc7) == 0x5); in insn_rip_relative() 328 insn_byte_t modrm; in insn_get_sib() local 332 if (!insn->modrm.got) in insn_get_sib() [all …]
|
D | inat.c | 59 insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id, in inat_get_group_attribute() argument 70 if (inat_has_variant(table[X86_MODRM_REG(modrm)]) && lpfx_id) { in inat_get_group_attribute() 75 return table[X86_MODRM_REG(modrm)] | in inat_get_group_attribute()
|
/Linux-v4.19/tools/perf/util/intel-pt-decoder/ |
D | insn.c | 268 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local 270 if (modrm->got) in insn_get_modrm() 277 modrm->value = mod; in insn_get_modrm() 278 modrm->nbytes = 1; in insn_get_modrm() 290 modrm->got = 1; in insn_get_modrm() 306 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local 310 if (!modrm->got) in insn_rip_relative() 316 return (modrm->nbytes && (modrm->value & 0xc7) == 0x5); in insn_rip_relative() 328 insn_byte_t modrm; in insn_get_sib() local 332 if (!insn->modrm.got) in insn_get_sib() [all …]
|
D | insn.h | 48 struct insn_field modrm; member 74 #define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) argument 75 #define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) argument 76 #define X86_MODRM_RM(modrm) ((modrm) & 0x07) argument 147 return insn->opcode.got && insn->modrm.got && insn->sib.got && in insn_complete() 200 return insn_offset_modrm(insn) + insn->modrm.nbytes; in insn_offset_sib() 226 X86_MODRM_REG(insn->modrm.bytes[0]) == 2); in insn_masking_exception()
|
D | inat.c | 59 insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id, in inat_get_group_attribute() argument 70 if (inat_has_variant(table[X86_MODRM_REG(modrm)]) && lpfx_id) { in inat_get_group_attribute() 75 return table[X86_MODRM_REG(modrm)] | in inat_get_group_attribute()
|
D | inat.h | 116 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
|
D | intel-pt-insn-decoder.c | 118 ext = (insn->modrm.bytes[0] >> 3) & 0x7; in intel_pt_insn_decoder()
|
/Linux-v4.19/arch/x86/lib/ |
D | insn.c | 268 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local 270 if (modrm->got) in insn_get_modrm() 277 modrm->value = mod; in insn_get_modrm() 278 modrm->nbytes = 1; in insn_get_modrm() 290 modrm->got = 1; in insn_get_modrm() 306 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local 310 if (!modrm->got) in insn_rip_relative() 316 return (modrm->nbytes && (modrm->value & 0xc7) == 0x5); in insn_rip_relative() 328 insn_byte_t modrm; in insn_get_sib() local 332 if (!insn->modrm.got) in insn_get_sib() [all …]
|
D | insn-eval.c | 429 regno = X86_MODRM_RM(insn->modrm.value); in get_reg_offset() 435 if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5) in get_reg_offset() 453 if (X86_MODRM_MOD(insn->modrm.value) != 3 && regno == 4) in get_reg_offset() 464 if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5) in get_reg_offset() 534 if (X86_MODRM_MOD(insn->modrm.value) == 3) { in get_reg_offset_16() 540 *offs1 = regoff1[X86_MODRM_RM(insn->modrm.value)]; in get_reg_offset_16() 541 *offs2 = regoff2[X86_MODRM_RM(insn->modrm.value)]; in get_reg_offset_16() 550 if ((X86_MODRM_MOD(insn->modrm.value) == 0) && in get_reg_offset_16() 551 (X86_MODRM_RM(insn->modrm.value) == 6)) in get_reg_offset_16() 881 if (!insn->modrm.nbytes) in get_eff_addr_reg() [all …]
|
D | inat.c | 59 insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id, in inat_get_group_attribute() argument 70 if (inat_has_variant(table[X86_MODRM_REG(modrm)]) && lpfx_id) { in inat_get_group_attribute() 75 return table[X86_MODRM_REG(modrm)] | in inat_get_group_attribute()
|
/Linux-v4.19/arch/x86/include/asm/ |
D | insn.h | 48 struct insn_field modrm; member 74 #define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) argument 75 #define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) argument 76 #define X86_MODRM_RM(modrm) ((modrm) & 0x07) argument 147 return insn->opcode.got && insn->modrm.got && insn->sib.got && in insn_complete() 200 return insn_offset_modrm(insn) + insn->modrm.nbytes; in insn_offset_sib() 226 X86_MODRM_REG(insn->modrm.bytes[0]) == 2); in insn_masking_exception()
|
D | inat.h | 116 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
|
D | kvm_emulate.h | 337 u8 modrm; member
|
/Linux-v4.19/tools/objtool/arch/x86/include/asm/ |
D | insn.h | 48 struct insn_field modrm; member 74 #define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) argument 75 #define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) argument 76 #define X86_MODRM_RM(modrm) ((modrm) & 0x07) argument 147 return insn->opcode.got && insn->modrm.got && insn->sib.got && in insn_complete() 200 return insn_offset_modrm(insn) + insn->modrm.nbytes; in insn_offset_sib() 226 X86_MODRM_REG(insn->modrm.bytes[0]) == 2); in insn_masking_exception()
|
D | inat.h | 116 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
|
/Linux-v4.19/tools/objtool/arch/x86/ |
D | decode.c | 89 rex_x = 0, modrm = 0, modrm_mod = 0, modrm_rm = 0, in arch_decode_instruction() local 121 if (insn.modrm.nbytes) { in arch_decode_instruction() 122 modrm = insn.modrm.bytes[0]; in arch_decode_instruction() 123 modrm_mod = X86_MODRM_MOD(modrm); in arch_decode_instruction() 124 modrm_reg = X86_MODRM_REG(modrm); in arch_decode_instruction() 125 modrm_rm = X86_MODRM_RM(modrm); in arch_decode_instruction() 183 if (modrm == 0xe4) { in arch_decode_instruction() 194 if (modrm == 0xc4) in arch_decode_instruction() 196 else if (modrm == 0xec) in arch_decode_instruction() 300 } else if (rex == 0x48 && modrm == 0x65) { in arch_decode_instruction() [all …]
|
/Linux-v4.19/arch/x86/kernel/ |
D | umip.c | 156 if (!insn->modrm.nbytes) in identify_insn() 164 switch (X86_MODRM_REG(insn->modrm.value)) { in identify_insn() 175 if (X86_MODRM_REG(insn->modrm.value) == 0) in identify_insn() 177 else if (X86_MODRM_REG(insn->modrm.value) == 1) in identify_insn() 223 if (X86_MODRM_MOD(insn->modrm.value) == 3) in emulate_umip_insn() 247 if (X86_MODRM_MOD(insn->modrm.value) == 3) in emulate_umip_insn() 397 if (X86_MODRM_MOD(insn.modrm.value) == 3) { in fixup_umip_exception()
|
D | uprobes.c | 57 #define MODRM_REG(insn) X86_MODRM_REG((insn)->modrm.value)
|
/Linux-v4.19/arch/x86/tools/ |
D | insn_decoder_test.c | 85 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
|
D | insn_sanity.c | 87 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
|
/Linux-v4.19/tools/testing/selftests/x86/ |
D | mpx-mini-test.c | 231 uint8_t modrm; in get_next_inst_ip() local 254 modrm = *ip++; in get_next_inst_ip() 257 rm = modrm & 7; in get_next_inst_ip() 258 mod = (modrm >> 6); in get_next_inst_ip()
|
/Linux-v4.19/arch/x86/kernel/kprobes/ |
D | opt.c | 210 (X86_MODRM_REG(insn->modrm.value) & 6) == 4) || /* Jump */ in __insn_is_indirect_jump()
|
/Linux-v4.19/arch/x86/kvm/ |
D | emulate.c | 1229 ctxt->modrm_mod = (ctxt->modrm & 0xc0) >> 6; in decode_modrm() 1230 ctxt->modrm_reg |= (ctxt->modrm & 0x38) >> 3; in decode_modrm() 1231 ctxt->modrm_rm = base_reg | (ctxt->modrm & 0x07); in decode_modrm() 5212 ctxt->modrm = insn_fetch(u8, ctxt); in x86_decode_insn() 5216 (mode == X86EMUL_MODE_PROT64 || (ctxt->modrm & 0xc0) == 0xc0)) { in x86_decode_insn() 5223 goffset = (ctxt->modrm >> 3) & 7; in x86_decode_insn() 5227 goffset = (ctxt->modrm >> 3) & 7; in x86_decode_insn() 5228 if ((ctxt->modrm >> 6) == 3) in x86_decode_insn() 5234 goffset = ctxt->modrm & 7; in x86_decode_insn() 5249 if (ctxt->modrm > 0xbf) in x86_decode_insn() [all …]
|
/Linux-v4.19/arch/x86/mm/ |
D | mpx.c | 142 bndregno = X86_MODRM_REG(insn.modrm.value); in mpx_generate_siginfo()
|
/Linux-v4.19/arch/x86/events/intel/ |
D | lbr.c | 945 ext = (insn.modrm.bytes[0] >> 3) & 0x7; in branch_type()
|