| /linux/tools/arch/x86/include/asm/ |
| H A D | insn.h | 68 struct insn { struct 69 struct insn_field prefixes; /* argument 73 struct insn_field rex_prefix; /* REX prefix */ argument 75 struct insn_field vex_prefix; /* VEX prefix */ argument 78 struct insn_field opcode; /* argument 83 struct insn_field modrm; argument 84 struct insn_field sib; argument 85 struct insn_field displacement; argument 97 insn_attr_t attr; argument 103 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | insn.h | 68 struct insn { struct 69 struct insn_field prefixes; /* argument 73 struct insn_field rex_prefix; /* REX prefix */ argument 75 struct insn_field vex_prefix; /* VEX prefix */ argument 78 struct insn_field opcode; /* argument 83 struct insn_field modrm; argument 84 struct insn_field sib; argument 85 struct insn_field displacement; argument 97 insn_attr_t attr; argument 103 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
| /linux/arch/x86/lib/ |
| H A D | insn.c | 37 #define validate_next(t, insn, n) \ argument 40 #define __get_next(t, insn) \ argument 43 #define __peek_nbyte_next(t, insn, n) \ argument 46 #define get_next(t, insn) \ argument 49 #define peek_nbyte_next(t, insn, n) \ argument 52 #define peek_next(t, insn) peek_nbyte_next(t, insn, 0) argument 61 void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) in insn_init() 85 static int __insn_get_emulate_prefix(struct insn *insn, in __insn_get_emulate_prefix() 104 static void insn_get_emulate_prefix(struct insn *insn) in insn_get_emulate_prefix() 124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() [all …]
|
| /linux/tools/arch/x86/lib/ |
| H A D | insn.c | 37 #define validate_next(t, insn, n) \ argument 40 #define __get_next(t, insn) \ argument 43 #define __peek_nbyte_next(t, insn, n) \ argument 46 #define get_next(t, insn) \ argument 49 #define peek_nbyte_next(t, insn, n) \ argument 52 #define peek_next(t, insn) peek_nbyte_next(t, insn, 0) argument 61 void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) in insn_init() 85 static int __insn_get_emulate_prefix(struct insn *insn, in __insn_get_emulate_prefix() 104 static void insn_get_emulate_prefix(struct insn *insn) in insn_get_emulate_prefix() 124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() [all …]
|
| /linux/arch/arm/probes/kprobes/ |
| H A D | actions-thumb.c | 24 t32_simulate_table_branch(probes_opcode_t insn, in t32_simulate_table_branch() 44 t32_simulate_mrs(probes_opcode_t insn, in t32_simulate_mrs() 53 t32_simulate_cond_branch(probes_opcode_t insn, in t32_simulate_cond_branch() 68 t32_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, in t32_decode_cond_branch() 78 t32_simulate_branch(probes_opcode_t insn, in t32_simulate_branch() 106 t32_simulate_ldr_literal(probes_opcode_t insn, in t32_simulate_ldr_literal() 144 t32_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, in t32_decode_ldmstm() 158 t32_emulate_ldrdstrd(probes_opcode_t insn, in t32_emulate_ldrdstrd() 185 t32_emulate_ldrstr(probes_opcode_t insn, in t32_emulate_ldrstr() 211 t32_emulate_rd8rn16rm0_rwflags(probes_opcode_t insn, in t32_emulate_rd8rn16rm0_rwflags() [all …]
|
| H A D | checkers-common.c | 13 enum probes_insn checker_stack_use_none(probes_opcode_t insn, in checker_stack_use_none() 21 enum probes_insn checker_stack_use_unknown(probes_opcode_t insn, in checker_stack_use_unknown() 30 enum probes_insn checker_stack_use_imm_0xx(probes_opcode_t insn, in checker_stack_use_imm_0xx() 43 static enum probes_insn checker_stack_use_t32strd(probes_opcode_t insn, in checker_stack_use_t32strd() 52 enum probes_insn checker_stack_use_imm_x0x(probes_opcode_t insn, in checker_stack_use_imm_x0x() 62 enum probes_insn checker_stack_use_imm_xxx(probes_opcode_t insn, in checker_stack_use_imm_xxx() 71 enum probes_insn checker_stack_use_stmdx(probes_opcode_t insn, in checker_stack_use_stmdx()
|
| H A D | actions-common.c | 18 static void __kprobes simulate_ldm1stm1(probes_opcode_t insn, in simulate_ldm1stm1() 60 static void __kprobes simulate_stm1_pc(probes_opcode_t insn, in simulate_stm1_pc() 71 static void __kprobes simulate_ldm1_pc(probes_opcode_t insn, in simulate_ldm1_pc() 80 emulate_generic_r0_12_noflags(probes_opcode_t insn, in emulate_generic_r0_12_noflags() 110 emulate_generic_r2_14_noflags(probes_opcode_t insn, in emulate_generic_r2_14_noflags() 118 emulate_ldm_r3_15(probes_opcode_t insn, in emulate_ldm_r3_15() 127 kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, in kprobe_decode_ldmstm()
|
| H A D | checkers-arm.c | 13 static enum probes_insn __kprobes arm_check_stack(probes_opcode_t insn, in arm_check_stack() 93 static enum probes_insn __kprobes arm_check_regs_nouse(probes_opcode_t insn, in arm_check_regs_nouse() 101 static enum probes_insn arm_check_regs_normal(probes_opcode_t insn, in arm_check_regs_normal() 117 static enum probes_insn arm_check_regs_ldmstm(probes_opcode_t insn, in arm_check_regs_ldmstm() 127 static enum probes_insn arm_check_regs_mov_ip_sp(probes_opcode_t insn, in arm_check_regs_mov_ip_sp() 148 static enum probes_insn arm_check_regs_ldrdstrd(probes_opcode_t insn, in arm_check_regs_ldrdstrd()
|
| H A D | actions-arm.c | 69 emulate_ldrdstrd(probes_opcode_t insn, in emulate_ldrdstrd() 98 emulate_ldr(probes_opcode_t insn, in emulate_ldr() 128 emulate_str(probes_opcode_t insn, in emulate_str() 155 emulate_rd12rn16rm0rs8_rwflags(probes_opcode_t insn, in emulate_rd12rn16rm0rs8_rwflags() 190 emulate_rd12rn16rm0_rwflags_nopc(probes_opcode_t insn, in emulate_rd12rn16rm0_rwflags_nopc() 217 emulate_rd16rn12rm0rs8_rwflags_nopc(probes_opcode_t insn, in emulate_rd16rn12rm0rs8_rwflags_nopc() 247 emulate_rd12rm0_noflags_nopc(probes_opcode_t insn, in emulate_rd12rm0_noflags_nopc() 267 emulate_rdlo12rdhi16rn0rm8_rwflags_nopc(probes_opcode_t insn, in emulate_rdlo12rdhi16rn0rm8_rwflags_nopc()
|
| /linux/arch/arm64/lib/ |
| H A D | insn.c | 89 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn) in aarch64_insn_decode_immediate() 114 u32 insn, u64 imm) in aarch64_insn_encode_immediate() 148 u32 insn) in aarch64_insn_decode_register() 177 u32 insn, in aarch64_insn_encode_register() 226 u32 insn) in aarch64_insn_encode_ldst_size() 265 u32 insn; in aarch64_insn_gen_branch_imm() local 298 u32 insn; in aarch64_insn_gen_comp_branch_imm() local 337 u32 insn; in aarch64_insn_gen_cond_branch_imm() local 357 u32 insn; in aarch64_insn_gen_branch_reg() local 383 u32 insn; in aarch64_insn_gen_load_store_reg() local [all …]
|
| /linux/tools/objtool/ |
| H A D | check.c | 27 struct instruction *insn; member 40 struct instruction *insn; in find_insn() local 51 struct instruction *insn) in next_insn_same_sec() 64 struct instruction *insn) in next_insn_same_func() 84 struct instruction *insn) in prev_insn_same_sec() 96 struct instruction *insn) in prev_insn_same_sym() 106 #define for_each_insn(file, insn) \ argument 112 #define func_for_each_insn(file, func, insn) \ argument 117 #define sym_for_each_insn(file, sym, insn) \ argument 122 #define sym_for_each_insn_continue_reverse(file, sym, insn) \ argument [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | traps_misaligned.c | 25 #define FP_GET_RD(insn) (insn >> 7 & 0x1F) argument 29 static int set_f32_rd(unsigned long insn, struct pt_regs *regs, in set_f32_rd() 42 static int set_f64_rd(unsigned long insn, struct pt_regs *regs, u64 val) in set_f64_rd() 61 static u64 get_f64_rs(unsigned long insn, u8 fp_reg_offset, in get_f64_rs() 76 static unsigned long get_f64_rs(unsigned long insn, u8 fp_reg_offset, in get_f64_rs() 92 static unsigned long get_f32_rs(unsigned long insn, u8 fp_reg_offset, in get_f32_rs() 105 static void set_f32_rd(unsigned long insn, struct pt_regs *regs, in set_f32_rd() 108 static void set_f64_rd(unsigned long insn, struct pt_regs *regs, u64 val) {} in set_f64_rd() 110 static unsigned long get_f64_rs(unsigned long insn, u8 fp_reg_offset, in get_f64_rs() 116 static unsigned long get_f32_rs(unsigned long insn, u8 fp_reg_offset, in get_f32_rs() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | inst.c | 15 void simu_pc(struct pt_regs *regs, union loongarch_instruction insn) in simu_pc() 48 void simu_branch(struct pt_regs *regs, union loongarch_instruction insn) in simu_branch() 138 bool insns_not_supported(union loongarch_instruction insn) in insns_not_supported() 176 bool insns_need_simulation(union loongarch_instruction insn) in insns_need_simulation() 187 void arch_simulate_insn(union loongarch_instruction insn, struct pt_regs *regs) in arch_simulate_insn() 207 int larch_insn_write(void *addr, u32 insn) in larch_insn_write() 219 int larch_insn_patch_text(void *addr, u32 insn) in larch_insn_patch_text() 287 union loongarch_instruction insn; in larch_insn_gen_b() local 302 union loongarch_instruction insn; in larch_insn_gen_bl() local 316 union loongarch_instruction insn; in larch_insn_gen_break() local [all …]
|
| /linux/arch/s390/tools/ |
| H A D | gen_opcode_table.c | 22 struct insn { struct 23 struct insn_type *type; argument 44 struct insn *insn; member 154 struct insn insn; in read_instructions() local 217 struct insn *insn; in print_long_insn() local 244 static void print_opcode(struct insn *insn, int nr) in print_opcode() 261 static void add_to_group(struct gen_opcode *desc, struct insn *insn, int offset) in add_to_group() 289 struct insn *insn; in print_opcode_table() local
|
| /linux/kernel/bpf/ |
| H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() argument 44 __func_imm_name(const struct bpf_insn_cbs * cbs,const struct bpf_insn * insn,u64 full_imm,char * buff,size_t len) __func_imm_name() argument 140 print_bpf_end_insn(bpf_insn_print_t verbose,void * private_data,const struct bpf_insn * insn) print_bpf_end_insn() argument 150 print_bpf_bswap_insn(bpf_insn_print_t verbose,void * private_data,const struct bpf_insn * insn) print_bpf_bswap_insn() argument 157 is_sdiv_smod(const struct bpf_insn * insn) is_sdiv_smod() argument 163 is_movsx(const struct bpf_insn * insn) is_movsx() argument 169 is_addr_space_cast(const struct bpf_insn * insn) is_addr_space_cast() argument 181 is_mov_percpu_addr(const struct bpf_insn * insn) is_mov_percpu_addr() argument 187 print_bpf_insn(const struct bpf_insn_cbs * cbs,const struct bpf_insn * insn,bool allow_ptr_leaks) print_bpf_insn() argument [all...] |
| /linux/tools/testing/selftests/bpf/ |
| H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() argument 44 __func_imm_name(const struct bpf_insn_cbs * cbs,const struct bpf_insn * insn,u64 full_imm,char * buff,size_t len) __func_imm_name() argument 140 print_bpf_end_insn(bpf_insn_print_t verbose,void * private_data,const struct bpf_insn * insn) print_bpf_end_insn() argument 150 print_bpf_bswap_insn(bpf_insn_print_t verbose,void * private_data,const struct bpf_insn * insn) print_bpf_bswap_insn() argument 157 is_sdiv_smod(const struct bpf_insn * insn) is_sdiv_smod() argument 163 is_movsx(const struct bpf_insn * insn) is_movsx() argument 169 is_addr_space_cast(const struct bpf_insn * insn) is_addr_space_cast() argument 181 is_mov_percpu_addr(const struct bpf_insn * insn) is_mov_percpu_addr() argument 187 print_bpf_insn(const struct bpf_insn_cbs * cbs,const struct bpf_insn * insn,bool allow_ptr_leaks) print_bpf_insn() argument [all...] |
| /linux/arch/sparc/kernel/ |
| H A D | unaligned_32.c | 34 static inline enum direction decode_direction(unsigned int insn) in decode_direction() 49 static inline int decode_access_size(unsigned int insn) in decode_access_size() 67 static inline int decode_signedness(unsigned int insn) in decode_signedness() 137 unsigned int insn) in compute_effective_address() 153 unsigned int insn) in safe_compute_effective_address() 205 static inline int floating_point_load_or_store_p(unsigned int insn) in floating_point_load_or_store_p() 210 static inline int ok_for_kernel(unsigned int insn) in ok_for_kernel() 215 static void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn) in kernel_mna_trap_fault() 240 asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) in kernel_unaligned_trap() 277 asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn) in user_unaligned_trap()
|
| H A D | unaligned_64.c | 42 static inline enum direction decode_direction(unsigned int insn) in decode_direction() 59 static inline int decode_access_size(struct pt_regs *regs, unsigned int insn) in decode_access_size() 87 static inline int decode_asi(unsigned int insn, struct pt_regs *regs) in decode_asi() 99 static inline int decode_signedness(unsigned int insn) in decode_signedness() 170 unsigned int insn, unsigned int rd) in compute_effective_address() 249 static inline int floating_point_load_or_store_p(unsigned int insn) in floating_point_load_or_store_p() 254 static inline int ok_for_kernel(unsigned int insn) in ok_for_kernel() 262 unsigned int insn = current_thread_info()->kern_una_insn; in kernel_mna_trap_fault() local 306 asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) in kernel_unaligned_trap() 396 int handle_popc(u32 insn, struct pt_regs *regs) in handle_popc() [all …]
|
| /linux/arch/powerpc/xmon/ |
| H A D | ppc-opc.c | 964 insert_arx (unsigned long insn, in insert_arx() 979 extract_arx (unsigned long insn, in extract_arx() 987 insert_ary (unsigned long insn, in insert_ary() 1002 extract_ary (unsigned long insn, in extract_ary() 1010 insert_rx (unsigned long insn, in insert_rx() 1027 extract_rx (unsigned long insn, in extract_rx() 1039 insert_ry (unsigned long insn, in insert_ry() 1056 extract_ry (unsigned long insn, in extract_ry() 1074 insert_bat (unsigned long insn, in insert_bat() 1083 extract_bat (unsigned long insn, in extract_bat() [all …]
|
| /linux/arch/arm/probes/ |
| H A D | decode-arm.c | 21 #define branch_displacement(insn) sign_extend(((insn) & 0xffffff) << 2, 25) argument 53 void __kprobes simulate_bbl(probes_opcode_t insn, in simulate_bbl() 65 void __kprobes simulate_blx1(probes_opcode_t insn, in simulate_blx1() 76 void __kprobes simulate_blx2bx(probes_opcode_t insn, in simulate_blx2bx() 91 void __kprobes simulate_mrs(probes_opcode_t insn, in simulate_mrs() 99 void __kprobes simulate_mov_ipsp(probes_opcode_t insn, in simulate_mov_ipsp() 700 static void __kprobes arm_singlestep(probes_opcode_t insn, in arm_singlestep() 720 arm_probes_decode_insn(probes_opcode_t insn, struct arch_probes_insn *asi, in arm_probes_decode_insn()
|
| /linux/arch/xtensa/include/asm/ |
| H A D | bitops.h | 101 #define BIT_OP(op, insn, inv) \ argument 120 #define TEST_AND_BIT_OP(op, insn, inv) \ argument 144 #define BIT_OP(op, insn, inv) \ argument 164 #define TEST_AND_BIT_OP(op, insn, inv) \ argument 189 #define BIT_OP(op, insn, inv) argument 190 #define TEST_AND_BIT_OP(op, insn, inv) argument 196 #define BIT_OPS(op, insn, inv) \ argument
|
| /linux/arch/riscv/kvm/ |
| H A D | vcpu_insn.c | 31 ulong insn) in truly_illegal_insn() 47 ulong insn) in truly_virtual_insn() 76 static int wfi_insn(struct kvm_vcpu *vcpu, struct kvm_run *run, ulong insn) in wfi_insn() 83 static int wrs_insn(struct kvm_vcpu *vcpu, struct kvm_run *run, ulong insn) in wrs_insn() 129 ulong insn; in kvm_riscv_vcpu_csr_return() local 147 static int csr_insn(struct kvm_vcpu *vcpu, struct kvm_run *run, ulong insn) in csr_insn() 273 ulong insn) in system_opcode_insn() 315 unsigned long insn = trap->stval; in kvm_riscv_vcpu_virtual_insn() local 360 unsigned long insn; in kvm_riscv_vcpu_mmio_load() local 486 unsigned long insn; in kvm_riscv_vcpu_mmio_store() local [all …]
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | fastops_test.c | 20 #define guest_execute_fastop_1(FEP, insn, __val, __flags) \ argument 28 #define guest_test_fastop_1(insn, type_t, __val) \ argument 44 #define guest_execute_fastop_2(FEP, insn, __input, __output, __flags) \ argument 52 #define guest_test_fastop_2(insn, type_t, __val1, __val2) \ argument 69 #define guest_execute_fastop_cl(FEP, insn, __shift, __output, __flags) \ argument 77 #define guest_test_fastop_cl(insn, type_t, __val1, __val2) \ argument 95 #define guest_execute_fastop_div(__KVM_ASM_SAFE, insn, __a, __d, __rm, __flags) \ argument 108 #define guest_test_fastop_div(insn, type_t, __val1, __val2) \ argument
|
| /linux/arch/arc/net/ |
| H A D | bpf_jit_arcv2.c | 661 const u32 insn = OPC_MOVI | OP_B(reg) | MOVI_S12(imm); in arc_movi_r() local 671 const u32 insn = OPC_MOV | OP_B(rd) | OP_C(rs); in arc_mov_r() local 681 const u32 insn = OPC_MOV | OP_B(rd) | OP_IMM; in arc_mov_i() local 696 const u32 insn = OPC_MOV | OP_B(rd) | OP_IMM; in arc_mov_i_fixed() local 708 const u32 insn = OPC_MOV_CC | OP_B(rd) | OP_C(rs) | COND(cc); in arc_mov_cc_r() local 718 const u32 insn = OPC_MOVU_CC | OP_B(rd) | OP_C(imm) | COND(cc); in arc_movu_cc_r() local 728 const u32 insn = OPC_SEXB | OP_B(rd) | OP_C(rs); in arc_sexb_r() local 738 const u32 insn = OPC_SEXH | OP_B(rd) | OP_C(rs); in arc_sexh_r() local 748 const u32 insn = OPC_STORE | STORE_ZZ(zz) | OP_C(reg) | in arc_st_r() local 759 const u32 insn = OPC_PUSH | OP_C(reg); in arc_push_r() local [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | armv8_deprecated.c | 231 static bool try_emulate_swp(struct pt_regs *regs, u32 insn) in try_emulate_swp() 314 static bool try_emulate_cp15_barrier(struct pt_regs *regs, u32 insn) in try_emulate_cp15_barrier() 351 char *insn; in compat_setend_handler() local 384 static bool try_emulate_setend(struct pt_regs *regs, u32 insn) in try_emulate_setend() 421 struct insn_emulation *insn = data; in enable_insn_hw_mode() local 428 struct insn_emulation *insn = data; in disable_insn_hw_mode() local 434 static int run_all_cpu_set_hw_mode(struct insn_emulation *insn, bool enable) in run_all_cpu_set_hw_mode() 463 struct insn_emulation *insn = insn_emulations[i]; in run_all_insn_set_hw_mode() local 479 static int update_insn_emulation_mode(struct insn_emulation *insn, in update_insn_emulation_mode() 515 struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode); in emulation_proc_handler() local [all …]
|