/linux-6.6.21/tools/arch/x86/include/asm/ |
D | insn.h | 68 struct insn { struct 69 struct insn_field prefixes; /* argument 73 struct insn_field rex_prefix; /* REX prefix */ argument 74 struct insn_field vex_prefix; /* VEX prefix */ argument 75 struct insn_field opcode; /* argument 80 struct insn_field modrm; argument 81 struct insn_field sib; argument 82 struct insn_field displacement; argument 94 insn_attr_t attr; argument 100 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
/linux-6.6.21/arch/x86/include/asm/ |
D | insn.h | 68 struct insn { struct 69 struct insn_field prefixes; /* argument 73 struct insn_field rex_prefix; /* REX prefix */ argument 74 struct insn_field vex_prefix; /* VEX prefix */ argument 75 struct insn_field opcode; /* argument 80 struct insn_field modrm; argument 81 struct insn_field sib; argument 82 struct insn_field displacement; argument 94 insn_attr_t attr; argument 100 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ argument [all …]
|
/linux-6.6.21/arch/x86/lib/ |
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 …]
|
D | insn-eval.c | 38 static bool is_string_insn(struct insn *insn) in is_string_insn() 62 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() 91 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() 154 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() 179 static int resolve_default_seg(struct insn *insn, struct pt_regs *regs, int off) in resolve_default_seg() 281 static int resolve_seg_reg(struct insn *insn, struct pt_regs *regs, int regoff) in resolve_seg_reg() 447 static int get_regno(struct insn *insn, enum reg_type type) in get_regno() 522 static int get_reg_offset(struct insn *insn, struct pt_regs *regs, in get_reg_offset() 550 static int get_reg_offset_16(struct insn *insn, struct pt_regs *regs, in get_reg_offset_16() 855 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_rm_off() [all …]
|
/linux-6.6.21/tools/arch/x86/lib/ |
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-6.6.21/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 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()
|
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()
|
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()
|
/linux-6.6.21/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 …]
|
/linux-6.6.21/arch/arm64/lib/ |
D | insn.c | 88 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn) in aarch64_insn_decode_immediate() 113 u32 insn, u64 imm) in aarch64_insn_encode_immediate() 147 u32 insn) in aarch64_insn_decode_register() 176 u32 insn, in aarch64_insn_encode_register() 225 u32 insn) in aarch64_insn_encode_ldst_size() 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 [all …]
|
/linux-6.6.21/tools/objtool/ |
D | check.c | 26 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-6.6.21/arch/loongarch/kernel/ |
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-6.6.21/arch/riscv/kvm/ |
D | vcpu_insn.c | 72 #define INSN_IS_16BIT(insn) (((insn) & INSN_16BIT_MASK) != INSN_16BIT_MASK) argument 74 #define INSN_LEN(insn) (INSN_IS_16BIT(insn) ? 2 : 4) argument 105 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 106 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument 107 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 115 #define REG_OFFSET(insn, pos) \ argument 118 #define REG_PTR(insn, pos, regs) \ argument 121 #define GET_FUNCT3(insn) (((insn) >> 12) & 7) argument 123 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument 124 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument [all …]
|
/linux-6.6.21/arch/riscv/kernel/ |
D | traps_misaligned.c | 86 #define INSN_LEN(insn) ((((insn) & 0x3) < 0x3) ? 2 : 4) argument 119 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument 120 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument 121 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument 129 #define REG_OFFSET(insn, pos) \ argument 132 #define REG_PTR(insn, pos, regs) \ argument 135 #define GET_RM(insn) (((insn) >> 12) & 7) argument 137 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument 138 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument 139 #define GET_RS1S(insn, regs) (*REG_PTR(RVC_RS1S(insn), 0, regs)) argument [all …]
|
/linux-6.6.21/arch/s390/tools/ |
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 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
|
/linux-6.6.21/arch/sparc/kernel/ |
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()
|
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-6.6.21/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
|
/linux-6.6.21/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()
|
/linux-6.6.21/kernel/bpf/ |
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() 170 const struct bpf_insn *insn, in print_bpf_insn()
|
/linux-6.6.21/arch/arm64/include/asm/ |
D | asm-extable.h | 76 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \ argument 88 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \ argument 97 #define _ASM_EXTABLE_KACCESS_ERR_ZERO(insn, fixup, err, zero) \ argument 106 #define _ASM_EXTABLE_UACCESS_ERR(insn, fixup, err) \ argument 109 #define _ASM_EXTABLE_UACCESS(insn, fixup) \ argument 112 #define _ASM_EXTABLE_KACCESS_ERR(insn, fixup, err) \ argument 115 #define _ASM_EXTABLE_LOAD_UNALIGNED_ZEROPAD(insn, fixup, data, addr) \ argument
|
/linux-6.6.21/tools/testing/selftests/bpf/ |
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() 170 const struct bpf_insn *insn, in print_bpf_insn()
|