/linux/tools/arch/x86/include/asm/ |
H A D | insn.h | 68 struct insn { struct 100 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument 101 const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */ argument 69 prefixesinsn global() argument 73 rex_prefixinsn global() argument 74 vex_prefixinsn global() argument 75 opcodeinsn global() argument 80 modrminsn global() argument 81 sibinsn global() argument 82 displacementinsn global() argument 94 attrinsn global() argument 102 next_byteinsn global() argument 156 insn_get_attribute(struct insn * insn) insn_get_attribute() argument 164 insn_is_avx(struct insn * insn) insn_is_avx() argument 171 insn_is_evex(struct insn * insn) insn_is_evex() argument 178 insn_has_emulate_prefix(struct insn * insn) insn_has_emulate_prefix() argument 183 insn_vex_m_bits(struct insn * insn) insn_vex_m_bits() argument 193 insn_vex_p_bits(struct insn * insn) insn_vex_p_bits() argument 202 insn_last_prefix_id(struct insn * insn) insn_last_prefix_id() argument 214 insn_offset_rex_prefix(struct insn * insn) insn_offset_rex_prefix() argument 218 insn_offset_vex_prefix(struct insn * insn) insn_offset_vex_prefix() argument 222 insn_offset_opcode(struct insn * insn) insn_offset_opcode() argument 226 insn_offset_modrm(struct insn * insn) insn_offset_modrm() argument 230 insn_offset_sib(struct insn * insn) insn_offset_sib() argument 234 insn_offset_displacement(struct insn * insn) insn_offset_displacement() argument 238 insn_offset_immediate(struct insn * insn) insn_offset_immediate() argument 255 for_each_insn_prefix(insn,idx,prefix) global() argument 269 insn_masking_exception(struct insn * insn) insn_masking_exception() 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 peek_nbyte_next(t,insn,n) global() argument 52 peek_next(t,insn) global() argument 61 insn_init(struct insn * insn,const void * kaddr,int buf_len,int x86_64) insn_init() argument 85 __insn_get_emulate_prefix(struct insn * insn,const insn_byte_t * prefix,size_t len) __insn_get_emulate_prefix() argument 104 insn_get_emulate_prefix(struct insn * insn) insn_get_emulate_prefix() argument 124 insn_get_prefixes(struct insn * insn) insn_get_prefixes() argument 273 insn_get_opcode(struct insn * insn) insn_get_opcode() argument 360 insn_get_modrm(struct insn * insn) insn_get_modrm() argument 406 insn_rip_relative(struct insn * insn) insn_rip_relative() argument 435 insn_get_sib(struct insn * insn) insn_get_sib() argument 476 insn_get_displacement(struct insn * insn) insn_get_displacement() argument 536 __get_moffset(struct insn * insn) __get_moffset() argument 561 __get_immv32(struct insn * insn) __get_immv32() argument 582 __get_immv(struct insn * insn) __get_immv() argument 607 __get_immptr(struct insn * insn) __get_immptr() argument 643 insn_get_immediate(struct insn * insn) insn_get_immediate() argument 716 insn_get_length(struct insn * insn) insn_get_length() argument 734 insn_complete(struct insn * insn) insn_complete() argument 751 insn_decode(struct insn * insn,const void * kaddr,int buf_len,enum insn_mode m) insn_decode() argument [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 | 99 #define INSN_LEN(insn) ((((insn) & 0x3) < 0x3) ? 2 : 4) argument 132 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 133 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument 134 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 142 #define REG_OFFSET(insn, pos) \ argument 145 #define REG_PTR(insn, pos, regs) \ argument 148 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument 149 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument 150 #define GET_RS1S(insn, regs) (*REG_PTR(RVC_RS1S(insn), 0, regs)) argument 151 #define GET_RS2S(insn, regs) (*REG_PTR(RVC_RS2S(insn), 0, regs)) argument [all …]
|
/linux/arch/loongarch/kernel/ |
H A D | inst.c | 13 void simu_pc(struct pt_regs *regs, union loongarch_instruction insn) in simu_pc() 46 void simu_branch(struct pt_regs *regs, union loongarch_instruction insn) in simu_branch() 136 bool insns_not_supported(union loongarch_instruction insn) in insns_not_supported() 162 bool insns_need_simulation(union loongarch_instruction insn) in insns_need_simulation() 173 void arch_simulate_insn(union loongarch_instruction insn, struct pt_regs *regs) in arch_simulate_insn() 193 int larch_insn_write(void *addr, u32 insn) in larch_insn_write() 205 int larch_insn_patch_text(void *addr, u32 insn) in larch_insn_patch_text() 229 union loongarch_instruction insn; in larch_insn_gen_b() local 244 union loongarch_instruction insn; in larch_insn_gen_bl() local 258 union loongarch_instruction insn; in larch_insn_gen_break() local [all …]
|
/linux/arch/riscv/kvm/ |
H A D | vcpu_insn.c | 77 #define INSN_IS_16BIT(insn) (((insn) & INSN_16BIT_MASK) != INSN_16BIT_MASK) argument 79 #define INSN_LEN(insn) (INSN_IS_16BIT(insn) ? 2 : 4) argument 110 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 111 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument 112 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 120 #define REG_OFFSET(insn, pos) \ argument 123 #define REG_PTR(insn, pos, regs) \ argument 126 #define GET_FUNCT3(insn) (((insn) >> 12) & 7) argument 128 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument 129 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument [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() 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 | 965 insert_arx (unsigned long insn, in insert_arx() 980 extract_arx (unsigned long insn, in extract_arx() 988 insert_ary (unsigned long insn, in insert_ary() 1003 extract_ary (unsigned long insn, in extract_ary() 1011 insert_rx (unsigned long insn, in insert_rx() 1028 extract_rx (unsigned long insn, in extract_rx() 1040 insert_ry (unsigned long insn, in insert_ry() 1057 extract_ry (unsigned long insn, in extract_ry() 1075 insert_bat (unsigned long insn, in insert_bat() 1084 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/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 …]
|
/linux/arch/riscv/include/asm/ |
H A D | asm-extable.h | 34 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \ argument 43 #define _ASM_EXTABLE(insn, fixup) \ argument 59 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \ argument 68 #define _ASM_EXTABLE_UACCESS_ERR(insn, fixup, err) \ argument 71 #define _ASM_EXTABLE_LOAD_UNALIGNED_ZEROPAD(insn, fixup, data, addr) \ argument 83 #define _ASM_EXTABLE_UACCESS_ERR(insn, fixup, err) argument
|
/linux/arch/s390/kernel/ |
H A D | jump_label.c | 14 struct insn { struct 19 static void jump_label_make_nop(struct jump_entry *entry, struct insn *insn) in jump_label_make_nop() 26 static void jump_label_make_branch(struct jump_entry *entry, struct insn *insn) in jump_label_make_branch()
|
/linux/arch/arm/probes/uprobes/ |
H A D | actions-arm.c | 19 probes_opcode_t insn = __mem_to_opcode_arm(*pinsn); in uprobes_substitute_pc() local 105 decode_pc_ro(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_pc_ro() 129 decode_wb_pc(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_wb_pc() 144 decode_rd12rn16rm0rs8_rwflags(probes_opcode_t insn, in decode_rd12rn16rm0rs8_rwflags() 152 decode_ldr(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_ldr() 159 uprobe_decode_ldmstm(probes_opcode_t insn, in uprobe_decode_ldmstm()
|