| /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/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/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 …]
|
| H A D | insn-eval.c | 39 static bool is_string_insn(struct insn *insn) in is_string_insn() 63 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() 92 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() 155 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() 180 static int resolve_default_seg(struct insn *insn, struct pt_regs *regs, int off) in resolve_default_seg() 282 static int resolve_seg_reg(struct insn *insn, struct pt_regs *regs, int regoff) in resolve_seg_reg() 448 static int get_regno(struct insn *insn, enum reg_type type) in get_regno() 523 static int get_reg_offset(struct insn *insn, struct pt_regs *regs, in get_reg_offset() 551 static int get_reg_offset_16(struct insn *insn, struct pt_regs *regs, in get_reg_offset_16() 863 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_rm_off() [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()
|
| /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/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/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/s390/tools/ |
| H A D | gen_opcode_table.c | 22 struct insn { struct 23 struct insn_type *type; argument 44 struct insn *insn; argument 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() 44 const struct bpf_insn *insn, in __func_imm_name() 140 const struct bpf_insn *insn) in print_bpf_end_insn() 150 const struct bpf_insn *insn) in print_bpf_bswap_insn() 157 static bool is_sdiv_smod(const struct bpf_insn *insn) in is_sdiv_smod() 163 static bool is_movsx(const struct bpf_insn *insn) in is_movsx() 169 static bool is_addr_space_cast(const struct bpf_insn *insn) in is_addr_space_cast() 181 static inline bool is_mov_percpu_addr(const struct bpf_insn *insn) in is_mov_percpu_addr() 187 const struct bpf_insn *insn, in print_bpf_insn()
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 44 const struct bpf_insn *insn, in __func_imm_name() 140 const struct bpf_insn *insn) in print_bpf_end_insn() 150 const struct bpf_insn *insn) in print_bpf_bswap_insn() 157 static bool is_sdiv_smod(const struct bpf_insn *insn) in is_sdiv_smod() 163 static bool is_movsx(const struct bpf_insn *insn) in is_movsx() 169 static bool is_addr_space_cast(const struct bpf_insn *insn) in is_addr_space_cast() 181 static inline bool is_mov_percpu_addr(const struct bpf_insn *insn) in is_mov_percpu_addr() 187 const struct bpf_insn *insn, in print_bpf_insn()
|
| /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/arm64/include/asm/ |
| H A D | asm-extable.h | 84 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \ argument 96 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \ argument 105 #define _ASM_EXTABLE_KACCESS_ERR_ZERO(insn, fixup, err, zero) \ argument 114 #define _ASM_EXTABLE_UACCESS_ERR(insn, fixup, err) \ argument 117 #define _ASM_EXTABLE_UACCESS(insn, fixup) \ argument 120 #define _ASM_EXTABLE_KACCESS_ERR(insn, fixup, err) \ argument 123 #define _ASM_EXTABLE_KACCESS(insn, fixup) \ argument 126 #define _ASM_EXTABLE_LOAD_UNALIGNED_ZEROPAD(insn, fixup, data, addr) \ argument
|
| /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/tools/objtool/arch/loongarch/ |
| H A D | decode.c | 15 unsigned long arch_jump_destination(struct instruction *insn) in arch_jump_destination() 76 struct instruction *insn) in decode_insn_reg0i26_fomat() 97 struct instruction *insn) in decode_insn_reg1i21_fomat() 115 struct instruction *insn, in decode_insn_reg2i12_fomat() 183 struct instruction *insn, in decode_insn_reg2i14_fomat() 227 struct instruction *insn) in decode_insn_reg2i16_fomat() 282 struct instruction *insn) in decode_insn_reg3_fomat() 302 struct instruction *insn) in arch_decode_instruction()
|