| /OK3568_Linux_fs/kernel/tools/arch/x86/lib/ |
| H A D | insn.c | 320 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local 324 if (modrm->got) in insn_get_modrm() 335 modrm->value = mod; in insn_get_modrm() 336 modrm->nbytes = 1; in insn_get_modrm() 352 modrm->got = 1; in insn_get_modrm() 369 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local 375 if (!modrm->got) { in insn_rip_relative() 384 return (modrm->nbytes && (modrm->value & 0xc7) == 0x5); in insn_rip_relative() 400 insn_byte_t modrm; in insn_get_sib() local 406 if (!insn->modrm.got) { in insn_get_sib() [all …]
|
| H A D | inat.c | 45 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()
|
| /OK3568_Linux_fs/kernel/arch/x86/lib/ |
| H A D | insn.c | 320 struct insn_field *modrm = &insn->modrm; in insn_get_modrm() local 324 if (modrm->got) in insn_get_modrm() 335 modrm->value = mod; in insn_get_modrm() 336 modrm->nbytes = 1; in insn_get_modrm() 352 modrm->got = 1; in insn_get_modrm() 369 struct insn_field *modrm = &insn->modrm; in insn_rip_relative() local 375 if (!modrm->got) { in insn_rip_relative() 384 return (modrm->nbytes && (modrm->value & 0xc7) == 0x5); in insn_rip_relative() 400 insn_byte_t modrm; in insn_get_sib() local 406 if (!insn->modrm.got) { in insn_get_sib() [all …]
|
| H A D | insn-eval.c | 454 regno = X86_MODRM_RM(insn->modrm.value); in get_reg_offset() 460 if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5) in get_reg_offset() 468 regno = X86_MODRM_REG(insn->modrm.value); in get_reg_offset() 485 if (X86_MODRM_MOD(insn->modrm.value) != 3 && regno == 4) in get_reg_offset() 496 if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5) in get_reg_offset() 566 if (X86_MODRM_MOD(insn->modrm.value) == 3) { in get_reg_offset_16() 572 *offs1 = regoff1[X86_MODRM_RM(insn->modrm.value)]; in get_reg_offset_16() 573 *offs2 = regoff2[X86_MODRM_RM(insn->modrm.value)]; in get_reg_offset_16() 582 if ((X86_MODRM_MOD(insn->modrm.value) == 0) && in get_reg_offset_16() 583 (X86_MODRM_RM(insn->modrm.value) == 6)) in get_reg_offset_16() [all …]
|
| H A D | inat.c | 45 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()
|
| /OK3568_Linux_fs/kernel/tools/arch/x86/include/asm/ |
| H A D | insn.h | 35 struct insn_field modrm; member 62 #define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) argument 63 #define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) argument 64 #define X86_MODRM_RM(modrm) ((modrm) & 0x07) argument 152 return insn->opcode.got && insn->modrm.got && insn->sib.got && in insn_complete() 205 return insn_offset_modrm(insn) + insn->modrm.nbytes; in insn_offset_sib() 246 X86_MODRM_REG(insn->modrm.bytes[0]) == 2); in insn_masking_exception()
|
| H A D | inat.h | 102 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
|
| /OK3568_Linux_fs/kernel/arch/x86/include/asm/ |
| H A D | insn.h | 35 struct insn_field modrm; member 62 #define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) argument 63 #define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) argument 64 #define X86_MODRM_RM(modrm) ((modrm) & 0x07) argument 152 return insn->opcode.got && insn->modrm.got && insn->sib.got && in insn_complete() 205 return insn_offset_modrm(insn) + insn->modrm.nbytes; in insn_offset_sib() 246 X86_MODRM_REG(insn->modrm.bytes[0]) == 2); in insn_masking_exception()
|
| H A D | inat.h | 102 extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
|
| /OK3568_Linux_fs/kernel/tools/objtool/arch/x86/ |
| H A D | decode.c | 96 rex_x = 0, modrm = 0, modrm_mod = 0, modrm_rm = 0, in arch_decode_instruction() local 130 if (insn.modrm.nbytes) { in arch_decode_instruction() 131 modrm = insn.modrm.bytes[0]; in arch_decode_instruction() 132 modrm_mod = X86_MODRM_MOD(modrm); in arch_decode_instruction() 133 modrm_reg = X86_MODRM_REG(modrm); in arch_decode_instruction() 134 modrm_rm = X86_MODRM_RM(modrm); in arch_decode_instruction() 196 if (modrm == 0xe4) { in arch_decode_instruction() 208 if (modrm == 0xc4) in arch_decode_instruction() 210 else if (modrm == 0xec) in arch_decode_instruction() 322 } else if (rex == 0x48 && modrm == 0x65) { in arch_decode_instruction() [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/kernel/ |
| H A 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() 224 if (X86_MODRM_MOD(insn->modrm.value) == 3) in emulate_umip_insn() 277 if (X86_MODRM_MOD(insn->modrm.value) == 3) in emulate_umip_insn() 381 if (X86_MODRM_MOD(insn.modrm.value) == 3) { in fixup_umip_exception()
|
| H A D | alternative.c | 504 u8 modrm; in emit_indirect() local 508 modrm = 0x10; /* Reg = 2; CALL r/m */ in emit_indirect() 512 modrm = 0x20; /* Reg = 4; JMP r/m */ in emit_indirect() 525 modrm |= 0xc0; /* Mod = 3 */ in emit_indirect() 526 modrm += reg; in emit_indirect() 529 bytes[i++] = modrm; in emit_indirect()
|
| H A D | uprobes.c | 44 #define MODRM_REG(insn) X86_MODRM_REG((insn)->modrm.value)
|
| /OK3568_Linux_fs/kernel/arch/x86/tools/ |
| H A D | insn_decoder_test.c | 77 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
|
| H A D | insn_sanity.c | 74 dump_field(fp, "modrm", "\t", &insn->modrm); in dump_insn()
|
| /OK3568_Linux_fs/kernel/tools/perf/util/intel-pt-decoder/ |
| H A D | intel-pt-insn-decoder.c | 109 ext = (insn->modrm.bytes[0] >> 3) & 0x7; in intel_pt_insn_decoder()
|
| /OK3568_Linux_fs/kernel/arch/x86/kvm/ |
| H A D | emulate.c | 1322 ctxt->modrm_mod = (ctxt->modrm & 0xc0) >> 6; in decode_modrm() 1323 ctxt->modrm_reg |= (ctxt->modrm & 0x38) >> 3; in decode_modrm() 1324 ctxt->modrm_rm = base_reg | (ctxt->modrm & 0x07); in decode_modrm() 5316 ctxt->modrm = insn_fetch(u8, ctxt); in x86_decode_insn() 5320 (mode == X86EMUL_MODE_PROT64 || (ctxt->modrm & 0xc0) == 0xc0)) { in x86_decode_insn() 5327 goffset = (ctxt->modrm >> 3) & 7; in x86_decode_insn() 5331 goffset = (ctxt->modrm >> 3) & 7; in x86_decode_insn() 5332 if ((ctxt->modrm >> 6) == 3) in x86_decode_insn() 5338 goffset = ctxt->modrm & 7; in x86_decode_insn() 5353 if (ctxt->modrm > 0xbf) { in x86_decode_insn() [all …]
|
| H A D | kvm_emulate.h | 357 u8 modrm; member
|
| /OK3568_Linux_fs/kernel/arch/x86/kernel/cpu/mce/ |
| H A D | severity.c | 239 if (!insn.modrm.got || !insn.sib.got) in is_copy_from_user()
|
| /OK3568_Linux_fs/kernel/arch/x86/kernel/kprobes/ |
| H A D | opt.c | 229 (X86_MODRM_REG(insn->modrm.value) & 6) == 4) || /* Jump */ in __insn_is_indirect_jump()
|
| /OK3568_Linux_fs/kernel/arch/x86/events/intel/ |
| H A D | lbr.c | 1307 ext = (insn.modrm.bytes[0] >> 3) & 0x7; in branch_type()
|
| /OK3568_Linux_fs/yocto/poky/meta/recipes-bsp/v86d/v86d/ |
| H A D | Update-x86emu-from-X.org.patch | 1310 modrm byte, for byte operands. Also enables the decoding of instructions. 1378 modrm byte, for word operands. Also enables the decoding of instructions. 1444 modrm byte, for dword operands. Also enables the decoding of instructions. 1508 modrm byte, for word operands, modified from above for the weirdo
|