/kernel/linux/linux-5.10/arch/x86/include/asm/ |
D | insn.h | 23 struct insn { struct 24 struct insn_field prefixes; /* argument 28 struct insn_field rex_prefix; /* REX prefix */ argument 29 struct insn_field vex_prefix; /* VEX prefix */ argument 30 struct insn_field opcode; /* argument 35 struct insn_field modrm; argument 36 struct insn_field sib; argument 37 struct insn_field displacement; argument 49 insn_attr_t attr; argument 55 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
/kernel/linux/linux-5.10/tools/arch/x86/include/asm/ |
D | insn.h | 23 struct insn { struct 24 struct insn_field prefixes; /* argument 28 struct insn_field rex_prefix; /* REX prefix */ argument 29 struct insn_field vex_prefix; /* VEX prefix */ argument 30 struct insn_field opcode; /* argument 35 struct insn_field modrm; argument 36 struct insn_field sib; argument 37 struct insn_field displacement; argument 49 insn_attr_t attr; argument 55 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
/kernel/linux/linux-5.10/tools/arch/x86/lib/ |
D | insn.c | 22 #define validate_next(t, insn, n) \ argument 25 #define __get_next(t, insn) \ argument 28 #define __peek_nbyte_next(t, insn, n) \ argument 31 #define get_next(t, insn) \ argument 34 #define peek_nbyte_next(t, insn, n) \ argument 37 #define peek_next(t, insn) peek_nbyte_next(t, insn, 0) argument 45 void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) in insn_init() 69 static int __insn_get_emulate_prefix(struct insn *insn, in __insn_get_emulate_prefix() 88 static void insn_get_emulate_prefix(struct insn *insn) in insn_get_emulate_prefix() 108 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() [all …]
|
/kernel/linux/linux-5.10/arch/x86/lib/ |
D | insn.c | 22 #define validate_next(t, insn, n) \ argument 25 #define __get_next(t, insn) \ argument 28 #define __peek_nbyte_next(t, insn, n) \ argument 31 #define get_next(t, insn) \ argument 34 #define peek_nbyte_next(t, insn, n) \ argument 37 #define peek_next(t, insn) peek_nbyte_next(t, insn, 0) argument 45 void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) in insn_init() 69 static int __insn_get_emulate_prefix(struct insn *insn, in __insn_get_emulate_prefix() 88 static void insn_get_emulate_prefix(struct insn *insn) in insn_get_emulate_prefix() 108 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() [all …]
|
D | insn-eval.c | 38 static bool is_string_insn(struct insn *insn) in is_string_insn() 64 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() 93 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() 156 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() 181 static int resolve_default_seg(struct insn *insn, struct pt_regs *regs, int off) in resolve_default_seg() 283 static int resolve_seg_reg(struct insn *insn, struct pt_regs *regs, int regoff) in resolve_seg_reg() 419 static int get_reg_offset(struct insn *insn, struct pt_regs *regs, in get_reg_offset() 532 static int get_reg_offset_16(struct insn *insn, struct pt_regs *regs, in get_reg_offset_16() 837 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_rm_off() 852 int insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_reg_off() [all …]
|
/kernel/linux/linux-5.10/arch/arm/probes/kprobes/ |
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 …]
|
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 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()
|
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() 108 emulate_generic_r2_14_noflags(probes_opcode_t insn, in emulate_generic_r2_14_noflags() 116 emulate_ldm_r3_15(probes_opcode_t insn, in emulate_ldm_r3_15() 125 kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, in kprobe_decode_ldmstm()
|
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()
|
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()
|
/kernel/linux/linux-5.10/arch/powerpc/xmon/ |
D | spu.h | 80 #define SIGNED_EXTRACT(insn,size,pos) (((int)((insn) << (32-size-pos))) >> (32-size)) argument 81 #define UNSIGNED_EXTRACT(insn,size,pos) (((insn) >> pos) & ((1 << size)-1)) argument 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 88 #define DECODE_INSN_I10(insn) SIGNED_EXTRACT(insn,10,14) argument 89 #define DECODE_INSN_U10(insn) UNSIGNED_EXTRACT(insn,10,14) argument 92 #define DECODE_INSN_I16(insn) SIGNED_EXTRACT(insn,16,7) argument 93 #define DECODE_INSN_U16(insn) UNSIGNED_EXTRACT(insn,16,7) argument [all …]
|
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 …]
|
/kernel/linux/linux-5.10/tools/objtool/ |
D | check.c | 26 struct instruction *insn; member 39 struct instruction *insn; in find_insn() local 50 struct instruction *insn) in next_insn_same_sec() 61 struct instruction *insn) in next_insn_same_func() 81 struct instruction *insn) in prev_insn_same_sym() 91 #define func_for_each_insn(file, func, insn) \ argument 96 #define sym_for_each_insn(file, sym, insn) \ argument 103 #define sym_for_each_insn_continue_reverse(file, sym, insn) \ argument 109 #define sec_for_each_insn_from(file, insn) \ argument 112 #define sec_for_each_insn_continue(file, insn) \ argument [all …]
|
/kernel/linux/linux-5.10/arch/arm64/kernel/ |
D | insn.c | 49 enum aarch64_insn_encoding_class __kprobes aarch64_get_insn_class(u32 insn) in aarch64_get_insn_class() 54 bool __kprobes aarch64_insn_is_steppable_hint(u32 insn) in aarch64_insn_is_steppable_hint() 78 bool aarch64_insn_is_branch_imm(u32 insn) in aarch64_insn_is_branch_imm() 139 static int __kprobes __aarch64_insn_write(void *addr, __le32 insn) in __aarch64_insn_write() 156 int __kprobes aarch64_insn_write(void *addr, u32 insn) in aarch64_insn_write() 161 bool __kprobes aarch64_insn_uses_literal(u32 insn) in aarch64_insn_uses_literal() 171 bool __kprobes aarch64_insn_is_branch(u32 insn) in aarch64_insn_is_branch() 190 int __kprobes aarch64_insn_patch_text_nosync(void *addr, u32 insn) in aarch64_insn_patch_text_nosync() 316 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn) in aarch64_insn_decode_immediate() 341 u32 insn, u64 imm) in aarch64_insn_encode_immediate() [all …]
|
/kernel/linux/linux-5.10/arch/riscv/kernel/ |
D | traps_misaligned.c | 85 #define INSN_LEN(insn) ((((insn) & 0x3) < 0x3) ? 2 : 4) argument 118 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 119 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument 120 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 128 #define REG_OFFSET(insn, pos) \ argument 131 #define REG_PTR(insn, pos, regs) \ argument 134 #define GET_RM(insn) (((insn) >> 12) & 7) argument 136 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument 137 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument 138 #define GET_RS1S(insn, regs) (*REG_PTR(RVC_RS1S(insn), 0, regs)) argument [all …]
|
/kernel/linux/linux-5.10/arch/s390/tools/ |
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 206 struct insn *insn; in print_long_insn() local 231 static void print_opcode(struct insn *insn, int nr) in print_opcode() 246 static void add_to_group(struct gen_opcode *desc, struct insn *insn, int offset) in add_to_group() 274 struct insn *insn; in print_opcode_table() local
|
/kernel/linux/linux-5.10/arch/nds32/include/asm/ |
D | ftrace.h | 24 #define INSN_SIZE(insn) (((insn & 0x00000080) == 0) ? 4 : 2) argument 25 #define IS_SETHI(insn) ((insn & 0x000000fe) == 0x00000046) argument 26 #define ENDIAN_CONVERT(insn) be32_to_cpu(insn) argument 29 #define INSN_SIZE(insn) (((insn & 0x80000000) == 0) ? 4 : 2) argument 30 #define IS_SETHI(insn) ((insn & 0xfe000000) == 0x46000000) argument 31 #define ENDIAN_CONVERT(insn) (insn) argument
|
/kernel/linux/linux-5.10/arch/sparc/kernel/ |
D | unaligned_32.c | 33 static inline enum direction decode_direction(unsigned int insn) in decode_direction() 48 static inline int decode_access_size(unsigned int insn) in decode_access_size() 66 static inline int decode_signedness(unsigned int insn) in decode_signedness() 136 unsigned int insn) in compute_effective_address() 152 unsigned int insn) in safe_compute_effective_address() 204 static inline int floating_point_load_or_store_p(unsigned int insn) in floating_point_load_or_store_p() 209 static inline int ok_for_kernel(unsigned int insn) in ok_for_kernel() 214 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 static inline int ok_for_user(struct pt_regs *regs, unsigned int insn, in ok_for_user() [all …]
|
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 …]
|
/kernel/linux/linux-5.10/arch/xtensa/include/asm/ |
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
|
/kernel/linux/linux-5.10/arch/arm/probes/ |
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()
|
/kernel/linux/linux-5.10/arch/s390/kernel/ |
D | jump_label.c | 13 struct insn { struct 18 static void jump_label_make_nop(struct jump_entry *entry, struct insn *insn) in jump_label_make_nop() 25 static void jump_label_make_branch(struct jump_entry *entry, struct insn *insn) in jump_label_make_branch()
|
/kernel/linux/linux-5.10/arch/s390/lib/ |
D | probes.c | 12 int probe_is_prohibited_opcode(u16 *insn) in probe_is_prohibited_opcode() 46 int probe_get_fixup_type(u16 *insn) in probe_get_fixup_type() 118 int probe_is_insn_relative_long(u16 *insn) in probe_is_insn_relative_long()
|
/kernel/linux/linux-5.10/arch/parisc/kernel/ |
D | patch.c | 20 u32 *insn; member 55 void __kprobes __patch_text_multiple(void *addr, u32 *insn, unsigned int len) in __patch_text_multiple() 96 void __kprobes __patch_text(void *addr, u32 insn) in __patch_text() 109 void __kprobes patch_text(void *addr, unsigned int insn) in patch_text() 120 void __kprobes patch_text_multiple(void *addr, u32 *insn, unsigned int len) in patch_text_multiple()
|
/kernel/linux/linux-5.10/arch/arm/probes/uprobes/ |
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()
|