/openbmc/linux/tools/arch/x86/lib/ |
H A D | insn.c | 70 memset(insn, 0, sizeof(*insn)); in insn_init() 124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() argument 262 int insn_get_opcode(struct insn *insn) in insn_get_opcode() argument 333 int insn_get_modrm(struct insn *insn) in insn_get_modrm() argument 381 int insn_rip_relative(struct insn *insn) in insn_rip_relative() argument 412 int insn_get_sib(struct insn *insn) in insn_get_sib() argument 542 static int __get_immv32(struct insn *insn) in __get_immv32() argument 563 static int __get_immv(struct insn *insn) in __get_immv() argument 624 int insn_get_immediate(struct insn *insn) in insn_get_immediate() argument 699 int insn_get_length(struct insn *insn) in insn_get_length() argument [all …]
|
/openbmc/linux/arch/x86/lib/ |
H A D | insn.c | 70 memset(insn, 0, sizeof(*insn)); in insn_init() 124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() argument 262 int insn_get_opcode(struct insn *insn) in insn_get_opcode() argument 333 int insn_get_modrm(struct insn *insn) in insn_get_modrm() argument 381 int insn_rip_relative(struct insn *insn) in insn_rip_relative() argument 412 int insn_get_sib(struct insn *insn) in insn_get_sib() argument 542 static int __get_immv32(struct insn *insn) in __get_immv32() argument 563 static int __get_immv(struct insn *insn) in __get_immv() argument 624 int insn_get_immediate(struct insn *insn) in insn_get_immediate() argument 699 int insn_get_length(struct insn *insn) in insn_get_length() argument [all …]
|
H A D | insn-eval.c | 38 static bool is_string_insn(struct insn *insn) in is_string_insn() argument 62 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() argument 91 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() argument 154 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() argument 298 if (!insn) in resolve_seg_reg() 447 static int get_regno(struct insn *insn, enum reg_type type) in get_regno() argument 522 static int get_reg_offset(struct insn *insn, struct pt_regs *regs, in get_reg_offset() argument 855 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_rm_off() argument 870 int insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_reg_off() argument 1021 if (insn->addr_bytes != 8 && insn->addr_bytes != 4) in get_eff_addr_modrm() [all …]
|
/openbmc/linux/tools/testing/selftests/bpf/ |
H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 217 insn->dst_reg, insn->off, in print_bpf_insn() 230 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn() 245 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn() 255 insn->off, insn->imm); in print_bpf_insn() 324 insn->code, insn->off); in print_bpf_insn() 327 insn->code, insn->imm); in print_bpf_insn() [all …]
|
/openbmc/linux/kernel/bpf/ |
H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 217 insn->dst_reg, insn->off, in print_bpf_insn() 230 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn() 245 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn() 255 insn->off, insn->imm); in print_bpf_insn() 324 insn->code, insn->off); in print_bpf_insn() 327 insn->code, insn->imm); in print_bpf_insn() [all …]
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | insn.h | 68 struct insn { struct 135 extern int insn_get_prefixes(struct insn *insn); 136 extern int insn_get_opcode(struct insn *insn); 137 extern int insn_get_modrm(struct insn *insn); 138 extern int insn_get_sib(struct insn *insn); 140 extern int insn_get_immediate(struct insn *insn); 141 extern int insn_get_length(struct insn *insn); 162 extern int insn_rip_relative(struct insn *insn); 164 static inline int insn_is_avx(struct insn *insn) in insn_is_avx() argument 171 static inline int insn_is_evex(struct insn *insn) in insn_is_evex() argument [all …]
|
/openbmc/linux/tools/arch/x86/include/asm/ |
H A D | insn.h | 68 struct insn { struct 135 extern int insn_get_prefixes(struct insn *insn); 136 extern int insn_get_opcode(struct insn *insn); 137 extern int insn_get_modrm(struct insn *insn); 138 extern int insn_get_sib(struct insn *insn); 140 extern int insn_get_immediate(struct insn *insn); 141 extern int insn_get_length(struct insn *insn); 162 extern int insn_rip_relative(struct insn *insn); 164 static inline int insn_is_avx(struct insn *insn) in insn_is_avx() argument 171 static inline int insn_is_evex(struct insn *insn) in insn_is_evex() argument [all …]
|
/openbmc/linux/arch/arm64/lib/ |
H A D | insn.c | 264 u32 insn; in aarch64_insn_gen_branch_imm() local 297 u32 insn; in aarch64_insn_gen_comp_branch_imm() local 336 u32 insn; in aarch64_insn_gen_cond_branch_imm() local 356 u32 insn; in aarch64_insn_gen_branch_reg() local 382 u32 insn; in aarch64_insn_gen_load_store_reg() local 399 insn = aarch64_insn_encode_ldst_size(size, insn); in aarch64_insn_gen_load_store_reg() 416 u32 insn; in aarch64_insn_gen_load_store_imm() local 447 insn = aarch64_insn_encode_ldst_size(size, insn); in aarch64_insn_gen_load_store_imm() 461 u32 insn; in aarch64_insn_gen_load_literal() local 486 u32 insn; in aarch64_insn_gen_load_store_pair() local [all …]
|
/openbmc/qemu/target/xtensa/core-dsp3400/ |
H A D | xtensa-modules.c.inc | 389 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); 405 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 469 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 485 insn[0] = (insn[0] & ~0x30) | (tie_t << 4); 501 insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); 518 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 537 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); 539 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 555 insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); 661 insn[0] = (insn[0] & ~0xff0) | (tie_t << 4); [all …]
|
/openbmc/linux/arch/powerpc/xmon/ |
H A D | spu.h | 83 #define DECODE_INSN_RT(insn) (insn & 0x7f) argument 84 #define DECODE_INSN_RA(insn) ((insn >> 7) & 0x7f) argument 85 #define DECODE_INSN_RB(insn) ((insn >> 14) & 0x7f) argument 86 #define DECODE_INSN_RC(insn) ((insn >> 21) & 0x7f) argument 92 #define DECODE_INSN_I16(insn) SIGNED_EXTRACT(insn,16,7) argument 99 #define DECODE_INSN_I18(insn) SIGNED_EXTRACT(insn,18,7) argument 103 #define DECODE_INSN_I7(insn) SIGNED_EXTRACT(insn,7,14) argument 111 #define DECODE_INSN_I9a(insn) ((SIGNED_EXTRACT(insn,2,23) << 7) | UNSIGNED_EXTRACT(insn,7,0)) argument 112 #define DECODE_INSN_I9b(insn) ((SIGNED_EXTRACT(insn,2,14) << 7) | UNSIGNED_EXTRACT(insn,7,0)) argument 113 #define DECODE_INSN_U9a(insn) ((UNSIGNED_EXTRACT(insn,2,23) << 7) | UNSIGNED_EXTRACT(insn,7,0)) argument [all …]
|
/openbmc/linux/arch/s390/tools/ |
H A D | gen_opcode_table.c | 44 struct insn *insn; argument 154 struct insn insn; in read_instructions() local 158 rc = scanf("%s %s %s", insn.opcode, insn.name, insn.format); in read_instructions() 168 desc->insn = realloc(desc->insn, desc->nr * sizeof(*desc->insn)); in read_instructions() 171 desc->insn[desc->nr - 1] = insn; in read_instructions() 206 struct insn *insn; in print_long_insn() local 213 insn = &desc->insn[i]; in print_long_insn() 223 insn = &desc->insn[i]; in print_long_insn() 274 struct insn *insn; in print_opcode_table() local 281 insn = &desc->insn[i]; in print_opcode_table() [all …]
|
/openbmc/qemu/target/xtensa/core-test_mmuhifi_c3/ |
H A D | xtensa-modules.c.inc | 235 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); 251 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 315 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 331 insn[0] = (insn[0] & ~0x30) | (tie_t << 4); 347 insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); 383 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); 401 insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); 497 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 545 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 611 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); [all …]
|
/openbmc/qemu/target/xtensa/core-test_kc705_be/ |
H A D | xtensa-modules.c.inc | 336 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); 352 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 368 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 384 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); 449 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 534 insn[0] = (insn[0] & ~0x300) | (tie_t << 8); 598 insn[0] = (insn[0] & ~0x300) | (tie_t << 8); 694 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); 710 insn[0] = (insn[0] & ~0xf) | (tie_t << 0); 774 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); [all …]
|
/openbmc/linux/tools/objtool/ |
H A D | check.c | 54 return find_insn(file, insn->sec, insn->offset + insn->len); in next_insn_same_sec() 88 return find_insn(file, insn->sec, insn->offset - insn->prev_len); in prev_insn_same_sec() 128 for (; insn; insn = next_insn_same_sec(file, insn)) 131 for (insn = next_insn_same_sec(file, insn); insn; \ 216 if (!insn || !insn_func(insn)) in __dead_end_function() 703 insn->sec, insn->offset)) in create_static_call_sections() 1329 insn->offset, insn->len); in insn_reloc() 3794 if (insn->hint && !insn->visited && !insn->ignore) { in validate_unwind_hint() 4100 insn = insn->jump_dest; in ignore_unreachable_insn() 4107 if (insn->offset + insn->len >= insn_func(insn)->offset + insn_func(insn)->len) in ignore_unreachable_insn() [all …]
|
/openbmc/linux/arch/riscv/kernel/ |
H A D | traps_misaligned.c | 119 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 121 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 135 #define GET_RM(insn) (((insn) >> 12) & 7) argument 144 #define IMM_I(insn) ((s32)(insn) >> 20) argument 145 #define IMM_S(insn) (((s32)(insn) >> 25 << 5) | \ argument 149 #define GET_PRECISION(insn) (((insn) >> 25) & 3) argument 150 #define GET_RM(insn) (((insn) >> 12) & 7) argument 273 insn = RVC_RS2S(insn) << SH_RD; in handle_misaligned_load() 282 insn = RVC_RS2S(insn) << SH_RD; in handle_misaligned_load() 290 insn = RVC_RS2S(insn) << SH_RD; in handle_misaligned_load() [all …]
|
/openbmc/linux/arch/arm/probes/kprobes/ |
H A D | actions-thumb.c | 29 int rm = insn & 0xf; in t32_simulate_table_branch() 150 insn = __mem_to_opcode_arm(asi->insn[0]); in t32_decode_ldmstm() 151 ((u16 *)asi->insn)[0] = __opcode_to_mem_thumb16(insn >> 16); in t32_decode_ldmstm() 152 ((u16 *)asi->insn)[1] = __opcode_to_mem_thumb16(insn & 0xffff); in t32_decode_ldmstm() 190 int rm = insn & 0xf; in t32_emulate_ldrstr() 369 probes_opcode_t nonzero = regs->uregs[rn] ? insn : ~insn; in t16_simulate_cbz() 487 int rdn = (insn & 0x7) | ((insn & 0x80) >> 4); in t16_emulate_hiregs() 517 insn &= ~0x00ff; in t16_decode_hiregs() 519 ((u16 *)asi->insn)[0] = __opcode_to_mem_thumb16(insn); in t16_decode_hiregs() 555 ((u16 *)asi->insn)[1] = __opcode_to_mem_thumb16(insn & 0x1ff); in t16_decode_push() [all …]
|
/openbmc/qemu/hw/mips/ |
H A D | bootloader.c | 91 insn = deposit32(insn, 21, 5, rs); in bl_gen_r_type() 92 insn = deposit32(insn, 16, 5, rt); in bl_gen_r_type() 93 insn = deposit32(insn, 11, 5, rd); in bl_gen_r_type() 94 insn = deposit32(insn, 6, 5, shift); in bl_gen_r_type() 95 insn = deposit32(insn, 0, 6, funct); in bl_gen_r_type() 110 insn = deposit32(insn, 21, 5, rs); in bl_gen_i_type() 111 insn = deposit32(insn, 16, 5, rt); in bl_gen_i_type() 112 insn = deposit32(insn, 0, 16, imm); in bl_gen_i_type() 151 insn = deposit32(insn, 21, 5, rt); in bl_gen_lui_nm() 171 insn = deposit32(insn, 21, 5, rt); in bl_gen_ori_nm() [all …]
|
/openbmc/linux/arch/mips/kernel/ |
H A D | branch.c | 62 union mips_instruction insn = (union mips_instruction)dec_insn.insn; in __mm_isBranchInstr() local 287 mminsn.insn = word; in __microMIPS_compute_return_epc() 630 ((!insn.i_format.rs && insn.i_format.rt) || in __compute_return_epc_for_insn() 631 (insn.i_format.rs == insn.i_format.rt))) in __compute_return_epc_for_insn() 666 ((!insn.i_format.rs && insn.i_format.rt) || in __compute_return_epc_for_insn() 667 (insn.i_format.rs == insn.i_format.rt))) in __compute_return_epc_for_insn() 695 reg = insn.i_format.rt; in __compute_return_epc_for_insn() 752 if ((regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn() 768 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn() 823 if (insn.i_format.rt && !insn.i_format.rs) in __compute_return_epc_for_insn() [all …]
|
/openbmc/linux/arch/csky/kernel/probes/ |
H A D | decode-insn.c | 21 CSKY_INSN_SET_SIMULATE(br16, insn); in csky_probe_decode_insn() 22 CSKY_INSN_SET_SIMULATE(bt16, insn); in csky_probe_decode_insn() 23 CSKY_INSN_SET_SIMULATE(bf16, insn); in csky_probe_decode_insn() 24 CSKY_INSN_SET_SIMULATE(jmp16, insn); in csky_probe_decode_insn() 25 CSKY_INSN_SET_SIMULATE(jsr16, insn); in csky_probe_decode_insn() 26 CSKY_INSN_SET_SIMULATE(lrw16, insn); in csky_probe_decode_insn() 27 CSKY_INSN_SET_SIMULATE(pop16, insn); in csky_probe_decode_insn() 29 CSKY_INSN_SET_SIMULATE(br32, insn); in csky_probe_decode_insn() 30 CSKY_INSN_SET_SIMULATE(bt32, insn); in csky_probe_decode_insn() 31 CSKY_INSN_SET_SIMULATE(bf32, insn); in csky_probe_decode_insn() [all …]
|
/openbmc/linux/arch/arm64/kernel/probes/ |
H A D | decode-insn.c | 28 if (aarch64_insn_is_branch(insn) || in aarch64_insn_is_steppable() 29 aarch64_insn_is_msr_imm(insn) || in aarch64_insn_is_steppable() 32 aarch64_insn_is_eret(insn) || in aarch64_insn_is_steppable() 41 if (aarch64_insn_is_mrs(insn)) in aarch64_insn_is_steppable() 51 if (aarch64_insn_is_hint(insn)) in aarch64_insn_is_steppable() 85 if (aarch64_insn_is_bcond(insn)) { in arm_probe_decode_insn() 88 aarch64_insn_is_cbnz(insn)) { in arm_probe_decode_insn() 91 aarch64_insn_is_tbnz(insn)) { in arm_probe_decode_insn() 96 aarch64_insn_is_bl(insn)) { in arm_probe_decode_insn() 99 aarch64_insn_is_blr(insn) || in arm_probe_decode_insn() [all …]
|
/openbmc/linux/arch/riscv/kvm/ |
H A D | vcpu_insn.c | 105 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 107 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 121 #define GET_FUNCT3(insn) (((insn) >> 12) & 7) argument 130 #define IMM_I(insn) ((s32)(insn) >> 20) argument 239 insn = vcpu->arch.csr_decode.insn; in kvm_riscv_vcpu_csr_return() 290 vcpu->arch.csr_decode.insn = insn; in csr_insn() 513 insn = RVC_RS2S(insn) << SH_RD; in kvm_riscv_vcpu_mmio_load() 522 insn = RVC_RS2S(insn) << SH_RD; in kvm_riscv_vcpu_mmio_load() 536 vcpu->arch.mmio_decode.insn = insn; in kvm_riscv_vcpu_mmio_load() 651 vcpu->arch.mmio_decode.insn = insn; in kvm_riscv_vcpu_mmio_store() [all …]
|
/openbmc/linux/arch/sparc/kernel/ |
H A D | unaligned_32.c | 41 if(((insn>>19)&0x3f) == 15) in decode_direction() 51 insn = (insn >> 19) & 3; in decode_access_size() 53 if(!insn) in decode_access_size() 55 else if(insn == 3) in decode_access_size() 57 else if(insn == 2) in decode_access_size() 69 return (insn & 0x400000); in decode_signedness() 137 unsigned int insn) in compute_effective_address() argument 143 if(insn & 0x2000) { in compute_effective_address() 153 unsigned int insn) in safe_compute_effective_address() argument 159 if(insn & 0x2000) { in safe_compute_effective_address() [all …]
|
/openbmc/linux/arch/loongarch/kernel/ |
H A D | inst.c | 164 if (is_pc_ins(&insn)) in insns_need_simulation() 175 if (is_pc_ins(&insn)) in arch_simulate_insn() 176 simu_pc(regs, insn); in arch_simulate_insn() 238 return insn.word; in larch_insn_gen_b() 253 return insn.word; in larch_insn_gen_bl() 267 return insn.word; in larch_insn_gen_break() 276 return insn.word; in larch_insn_gen_or() 295 return insn.word; in larch_insn_gen_lu12iw() 309 return insn.word; in larch_insn_gen_lu32id() 323 return insn.word; in larch_insn_gen_lu52id() [all …]
|
/openbmc/linux/arch/s390/lib/ |
H A D | probes.c | 16 switch (insn[0] >> 8) { in probe_is_prohibited_opcode() 25 switch (insn[0] & 0x0f) { in probe_is_prohibited_opcode() 30 switch (insn[0]) { in probe_is_prohibited_opcode() 51 switch (insn[0] >> 8) { in probe_get_fixup_type() 56 if ((insn[0] & 0x0f) == 0) in probe_get_fixup_type() 77 if ((insn[0] & 0xff) == 0xb2) in probe_get_fixup_type() 89 switch (insn[2] & 0xff) { in probe_get_fixup_type() 101 switch (insn[2] & 0xff) { in probe_get_fixup_type() 122 switch (insn[0] >> 8) { in probe_is_insn_relative_long() 128 switch (insn[0] & 0x0f) { in probe_is_insn_relative_long() [all …]
|
/openbmc/linux/arch/arm64/kernel/ |
H A D | armv8_deprecated.c | 48 u32 insn); 353 char *insn; in compat_setend_handler() local 358 insn = "setend be"; in compat_setend_handler() 361 insn = "setend le"; in compat_setend_handler() 424 if (insn->set_hw_mode) in enable_insn_hw_mode() 431 if (insn->set_hw_mode) in disable_insn_hw_mode() 438 if (!insn->set_hw_mode) in run_all_cpu_set_hw_mode() 467 if (insn->set_hw_mode && insn->set_hw_mode(enable)) { in run_all_insn_set_hw_mode() 469 cpu, insn->name); in run_all_insn_set_hw_mode() 538 insn->min = INSN_UNDEF; in register_insn_emulation() [all …]
|