/kernel/linux/linux-5.10/arch/x86/lib/ |
H A D | insn.c | 14 #include <asm/insn.h> /* __ignore_sync_check__ */ 22 #define validate_next(t, insn, n) \ 23 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr) 25 #define __get_next(t, insn) \ 26 ({ t r = *(t*)insn->next_byte; insn->next_byte += sizeof(t); r; }) 28 #define __peek_nbyte_next(t, insn, n) \ 29 ({ t r = *(t*)((insn)->next_byte + n); r; }) 31 #define get_next(t, insn) \ 45 insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) insn_init() argument 69 __insn_get_emulate_prefix(struct insn *insn, const insn_byte_t *prefix, size_t len) __insn_get_emulate_prefix() argument 88 insn_get_emulate_prefix(struct insn *insn) insn_get_emulate_prefix() argument 108 insn_get_prefixes(struct insn *insn) insn_get_prefixes() argument 247 insn_get_opcode(struct insn *insn) insn_get_opcode() argument 318 insn_get_modrm(struct insn *insn) insn_get_modrm() argument 367 insn_rip_relative(struct insn *insn) insn_rip_relative() argument 398 insn_get_sib(struct insn *insn) insn_get_sib() argument 441 insn_get_displacement(struct insn *insn) insn_get_displacement() argument 504 __get_moffset(struct insn *insn) __get_moffset() argument 533 __get_immv32(struct insn *insn) __get_immv32() argument 556 __get_immv(struct insn *insn) __get_immv() argument 584 __get_immptr(struct insn *insn) __get_immptr() argument 623 insn_get_immediate(struct insn *insn) insn_get_immediate() argument 704 insn_get_length(struct insn *insn) insn_get_length() argument 734 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) insn_decode() argument [all...] |
/kernel/linux/linux-5.10/tools/arch/x86/lib/ |
H A D | insn.c | 14 #include "../include/asm/insn.h" /* __ignore_sync_check__ */ 22 #define validate_next(t, insn, n) \ 23 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr) 25 #define __get_next(t, insn) \ 26 ({ t r = *(t*)insn->next_byte; insn->next_byte += sizeof(t); r; }) 28 #define __peek_nbyte_next(t, insn, n) \ 29 ({ t r = *(t*)((insn)->next_byte + n); r; }) 31 #define get_next(t, insn) \ 45 insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64) insn_init() argument 69 __insn_get_emulate_prefix(struct insn *insn, const insn_byte_t *prefix, size_t len) __insn_get_emulate_prefix() argument 88 insn_get_emulate_prefix(struct insn *insn) insn_get_emulate_prefix() argument 108 insn_get_prefixes(struct insn *insn) insn_get_prefixes() argument 247 insn_get_opcode(struct insn *insn) insn_get_opcode() argument 318 insn_get_modrm(struct insn *insn) insn_get_modrm() argument 367 insn_rip_relative(struct insn *insn) insn_rip_relative() argument 398 insn_get_sib(struct insn *insn) insn_get_sib() argument 441 insn_get_displacement(struct insn *insn) insn_get_displacement() argument 504 __get_moffset(struct insn *insn) __get_moffset() argument 533 __get_immv32(struct insn *insn) __get_immv32() argument 556 __get_immv(struct insn *insn) __get_immv() argument 584 __get_immptr(struct insn *insn) __get_immptr() argument 623 insn_get_immediate(struct insn *insn) insn_get_immediate() argument 704 insn_get_length(struct insn *insn) insn_get_length() argument 734 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) insn_decode() argument [all...] |
/kernel/linux/linux-6.6/arch/x86/lib/ |
H A D | insn.c | 15 #include <asm/insn.h> /* __ignore_sync_check__ */ 37 #define validate_next(t, insn, n) \ 38 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr) 40 #define __get_next(t, insn) \ 41 ({ t r = get_unaligned((t *)(insn)->next_byte); (insn)->next_byte += sizeof(t); leXX_to_cpu(t, r); }) 43 #define __peek_nbyte_next(t, insn, n) \ 44 ({ t r = get_unaligned((t *)(insn)->next_byte + n); leXX_to_cpu(t, r); }) 46 #define get_next(t, insn) \ 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 262 insn_get_opcode(struct insn *insn) insn_get_opcode() argument 333 insn_get_modrm(struct insn *insn) insn_get_modrm() argument 381 insn_rip_relative(struct insn *insn) insn_rip_relative() argument 412 insn_get_sib(struct insn *insn) insn_get_sib() argument 455 insn_get_displacement(struct insn *insn) insn_get_displacement() argument 517 __get_moffset(struct insn *insn) __get_moffset() argument 542 __get_immv32(struct insn *insn) __get_immv32() argument 563 __get_immv(struct insn *insn) __get_immv() argument 588 __get_immptr(struct insn *insn) __get_immptr() argument 624 insn_get_immediate(struct insn *insn) insn_get_immediate() argument 699 insn_get_length(struct insn *insn) insn_get_length() argument 719 insn_complete(struct insn *insn) insn_complete() argument 736 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) insn_decode() argument [all...] |
H A D | insn-eval.c | 13 #include <asm/insn.h> 14 #include <asm/insn-eval.h> 19 #define pr_fmt(fmt) "insn: " fmt 30 * @insn: Instruction containing the opcode to inspect 38 static bool is_string_insn(struct insn *insn) in is_string_insn() argument 41 if (insn->opcode.nbytes != 1) in is_string_insn() 44 switch (insn->opcode.bytes[0]) { in is_string_insn() 56 * @insn: Instruction containing the prefix to inspect 62 bool insn_has_rep_prefix(struct insn *ins argument 91 get_seg_reg_override_idx(struct insn *insn) get_seg_reg_override_idx() argument 154 check_seg_overrides(struct insn *insn, int regoff) check_seg_overrides() argument 179 resolve_default_seg(struct insn *insn, struct pt_regs *regs, int off) resolve_default_seg() argument 281 resolve_seg_reg(struct insn *insn, struct pt_regs *regs, int regoff) resolve_seg_reg() argument 447 get_regno(struct insn *insn, enum reg_type type) get_regno() argument 522 get_reg_offset(struct insn *insn, struct pt_regs *regs, enum reg_type type) get_reg_offset() argument 550 get_reg_offset_16(struct insn *insn, struct pt_regs *regs, int *offs1, int *offs2) get_reg_offset_16() argument 855 insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) insn_get_modrm_rm_off() argument 870 insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs) insn_get_modrm_reg_off() argument 885 insn_get_modrm_reg_ptr(struct insn *insn, struct pt_regs *regs) insn_get_modrm_reg_ptr() argument 916 get_seg_base_limit(struct insn *insn, struct pt_regs *regs, int regoff, unsigned long *base, unsigned long *limit) get_seg_base_limit() argument 966 get_eff_addr_reg(struct insn *insn, struct pt_regs *regs, int *regoff, long *eff_addr) get_eff_addr_reg() argument 1015 get_eff_addr_modrm(struct insn *insn, struct pt_regs *regs, int *regoff, long *eff_addr) get_eff_addr_modrm() argument 1082 get_eff_addr_modrm_16(struct insn *insn, struct pt_regs *regs, int *regoff, short *eff_addr) get_eff_addr_modrm_16() argument 1150 get_eff_addr_sib(struct insn *insn, struct pt_regs *regs, int *base_offset, long *eff_addr) get_eff_addr_sib() argument 1234 get_addr_ref_16(struct insn *insn, struct pt_regs *regs) get_addr_ref_16() argument 1298 get_addr_ref_32(struct insn *insn, struct pt_regs *regs) get_addr_ref_32() argument 1387 get_addr_ref_64(struct insn *insn, struct pt_regs *regs) get_addr_ref_64() argument 1392 get_addr_ref_64(struct insn *insn, struct pt_regs *regs) get_addr_ref_64() argument 1445 insn_get_addr_ref(struct insn *insn, struct pt_regs *regs) insn_get_addr_ref() argument 1555 insn_decode_from_regs(struct insn *insn, struct pt_regs *regs, unsigned char buf[MAX_INSN_SIZE], int buf_size) insn_decode_from_regs() argument 1600 insn_decode_mmio(struct insn *insn, int *bytes) insn_decode_mmio() argument [all...] |
/kernel/linux/linux-6.6/tools/arch/x86/lib/ |
H A D | insn.c | 15 #include "../include/asm/insn.h" /* __ignore_sync_check__ */ 37 #define validate_next(t, insn, n) \ 38 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr) 40 #define __get_next(t, insn) \ 41 ({ t r = get_unaligned((t *)(insn)->next_byte); (insn)->next_byte += sizeof(t); leXX_to_cpu(t, r); }) 43 #define __peek_nbyte_next(t, insn, n) \ 44 ({ t r = get_unaligned((t *)(insn)->next_byte + n); leXX_to_cpu(t, r); }) 46 #define get_next(t, insn) \ 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 262 insn_get_opcode(struct insn *insn) insn_get_opcode() argument 333 insn_get_modrm(struct insn *insn) insn_get_modrm() argument 381 insn_rip_relative(struct insn *insn) insn_rip_relative() argument 412 insn_get_sib(struct insn *insn) insn_get_sib() argument 455 insn_get_displacement(struct insn *insn) insn_get_displacement() argument 517 __get_moffset(struct insn *insn) __get_moffset() argument 542 __get_immv32(struct insn *insn) __get_immv32() argument 563 __get_immv(struct insn *insn) __get_immv() argument 588 __get_immptr(struct insn *insn) __get_immptr() argument 624 insn_get_immediate(struct insn *insn) insn_get_immediate() argument 699 insn_get_length(struct insn *insn) insn_get_length() argument 719 insn_complete(struct insn *insn) insn_complete() argument 736 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) insn_decode() argument [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | insn.h | 23 struct insn { struct 55 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ 56 const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */ 89 extern void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64); 90 extern int insn_get_prefixes(struct insn *insn); 91 extern int insn_get_opcode(struct insn *insn); 92 extern int insn_get_modrm(struct insn *ins 111 insn_get_attribute(struct insn *insn) insn_get_attribute() argument 120 kernel_insn_init(struct insn *insn, const void *kaddr, int buf_len) kernel_insn_init() argument 130 insn_is_avx(struct insn *insn) insn_is_avx() argument 137 insn_is_evex(struct insn *insn) insn_is_evex() argument 144 insn_has_emulate_prefix(struct insn *insn) insn_has_emulate_prefix() argument 150 insn_complete(struct insn *insn) insn_complete() argument 156 insn_vex_m_bits(struct insn *insn) insn_vex_m_bits() argument 166 insn_vex_p_bits(struct insn *insn) insn_vex_p_bits() argument 175 insn_last_prefix_id(struct insn *insn) insn_last_prefix_id() argument 187 insn_offset_rex_prefix(struct insn *insn) insn_offset_rex_prefix() argument 191 insn_offset_vex_prefix(struct insn *insn) insn_offset_vex_prefix() argument 195 insn_offset_opcode(struct insn *insn) insn_offset_opcode() argument 199 insn_offset_modrm(struct insn *insn) insn_offset_modrm() argument 203 insn_offset_sib(struct insn *insn) insn_offset_sib() argument 207 insn_offset_displacement(struct insn *insn) insn_offset_displacement() argument 211 insn_offset_immediate(struct insn *insn) insn_offset_immediate() argument 242 insn_masking_exception(struct insn *insn) insn_masking_exception() argument [all...] |
/kernel/linux/linux-5.10/tools/arch/x86/include/asm/ |
H A D | insn.h | 23 struct insn { struct 55 const insn_byte_t *kaddr; /* kernel address of insn to analyze */ 56 const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */ 89 extern void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64); 90 extern int insn_get_prefixes(struct insn *insn); 91 extern int insn_get_opcode(struct insn *insn); 92 extern int insn_get_modrm(struct insn *ins 111 insn_get_attribute(struct insn *insn) insn_get_attribute() argument 120 kernel_insn_init(struct insn *insn, const void *kaddr, int buf_len) kernel_insn_init() argument 130 insn_is_avx(struct insn *insn) insn_is_avx() argument 137 insn_is_evex(struct insn *insn) insn_is_evex() argument 144 insn_has_emulate_prefix(struct insn *insn) insn_has_emulate_prefix() argument 150 insn_complete(struct insn *insn) insn_complete() argument 156 insn_vex_m_bits(struct insn *insn) insn_vex_m_bits() argument 166 insn_vex_p_bits(struct insn *insn) insn_vex_p_bits() argument 175 insn_last_prefix_id(struct insn *insn) insn_last_prefix_id() argument 187 insn_offset_rex_prefix(struct insn *insn) insn_offset_rex_prefix() argument 191 insn_offset_vex_prefix(struct insn *insn) insn_offset_vex_prefix() argument 195 insn_offset_opcode(struct insn *insn) insn_offset_opcode() argument 199 insn_offset_modrm(struct insn *insn) insn_offset_modrm() argument 203 insn_offset_sib(struct insn *insn) insn_offset_sib() argument 207 insn_offset_displacement(struct insn *insn) insn_offset_displacement() argument 211 insn_offset_immediate(struct insn *insn) insn_offset_immediate() argument 242 insn_masking_exception(struct insn *insn) insn_masking_exception() argument [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 22 if (!insn->src_reg && in __func_get_name() 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && in __func_get_name() 24 func_id_str[insn->imm]) in __func_get_name() 25 return func_id_str[insn->imm]; in __func_get_name() 30 res = cbs->cb_call(cbs->private_data, insn); in __func_get_name() 35 if (insn->src_reg == BPF_PSEUDO_CALL) in __func_get_name() 36 snprintf(buff, len, "%+d", insn->imm); in __func_get_name() 37 else if (insn in __func_get_name() 16 __func_get_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, char *buff, size_t len) __func_get_name() argument 43 __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 138 print_bpf_end_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) print_bpf_end_insn() argument 148 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 print_bpf_insn(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, bool allow_ptr_leaks) print_bpf_insn() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 22 if (!insn->src_reg && in __func_get_name() 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && in __func_get_name() 24 func_id_str[insn->imm]) in __func_get_name() 25 return func_id_str[insn->imm]; in __func_get_name() 30 res = cbs->cb_call(cbs->private_data, insn); in __func_get_name() 35 if (insn->src_reg == BPF_PSEUDO_CALL) in __func_get_name() 36 snprintf(buff, len, "%+d", insn->imm); in __func_get_name() 37 else if (insn in __func_get_name() 16 __func_get_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, char *buff, size_t len) __func_get_name() argument 43 __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 138 print_bpf_end_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) print_bpf_end_insn() argument 148 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 print_bpf_insn(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, bool allow_ptr_leaks) print_bpf_insn() argument [all...] |
/kernel/linux/linux-6.6/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 */ 101 const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */ 134 extern void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64); 135 extern int insn_get_prefixes(struct insn *insn); 136 extern int insn_get_opcode(struct insn *insn); 137 extern int insn_get_modrm(struct insn *ins 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 269 insn_masking_exception(struct insn *insn) insn_masking_exception() argument [all...] |
/kernel/linux/linux-6.6/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 */ 101 const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */ 134 extern void insn_init(struct insn *insn, const void *kaddr, int buf_len, int x86_64); 135 extern int insn_get_prefixes(struct insn *insn); 136 extern int insn_get_opcode(struct insn *insn); 137 extern int insn_get_modrm(struct insn *ins 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 269 insn_masking_exception(struct insn *insn) insn_masking_exception() argument [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 22 if (insn->src_reg != BPF_PSEUDO_CALL && in __func_get_name() 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && in __func_get_name() 24 func_id_str[insn->imm]) in __func_get_name() 25 return func_id_str[insn->imm]; in __func_get_name() 28 return cbs->cb_call(cbs->private_data, insn); in __func_get_name() 30 if (insn->src_reg == BPF_PSEUDO_CALL) in __func_get_name() 31 snprintf(buff, len, "%+d", insn->imm); in __func_get_name() 37 const struct bpf_insn *insn, in __func_imm_name() 16 __func_get_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, char *buff, size_t len) __func_get_name() argument 36 __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 107 print_bpf_end_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) print_bpf_end_insn() argument 117 print_bpf_insn(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, bool allow_ptr_leaks) print_bpf_insn() argument [all...] |
/kernel/linux/linux-5.10/tools/objtool/ |
H A D | check.c | 26 struct instruction *insn; member 39 struct instruction *insn; in find_insn() local 41 hash_for_each_possible(file->insn_hash, insn, hash, sec_offset_hash(sec, offset)) { in find_insn() 42 if (insn->sec == sec && insn->offset == offset) in find_insn() 43 return insn; in find_insn() 50 struct instruction *insn) in next_insn_same_sec() 52 struct instruction *next = list_next_entry(insn, list); in next_insn_same_sec() 54 if (!next || &next->list == &file->insn_list || next->sec != insn->sec) in next_insn_same_sec() 61 struct instruction *insn) in next_insn_same_func() 49 next_insn_same_sec(struct objtool_file *file, struct instruction *insn) next_insn_same_sec() argument 60 next_insn_same_func(struct objtool_file *file, struct instruction *insn) next_insn_same_func() argument 80 prev_insn_same_sym(struct objtool_file *file, struct instruction *insn) prev_insn_same_sym() argument 116 is_jump_table_jump(struct instruction *insn) is_jump_table_jump() argument 128 is_sibling_call(struct instruction *insn) is_sibling_call() argument 159 struct instruction *insn; __dead_end_function() local 357 struct instruction *insn; decode_instructions() local 429 struct instruction *insn = NULL; find_last_insn() local 446 struct instruction *insn; add_dead_ends() local 529 struct instruction *insn; create_static_call_sections() local 617 struct instruction *insn; create_retpoline_sites_sections() local 663 struct instruction *insn; create_return_sites_sections() local 712 struct instruction *insn; add_ignores() local 925 struct instruction *insn; add_ignore_alternatives() local 978 insn_reloc(struct objtool_file *file, struct instruction *insn) insn_reloc() argument 995 remove_insn_ops(struct instruction *insn) remove_insn_ops() argument 1005 annotate_call_site(struct objtool_file *file, struct instruction *insn, bool sibling) annotate_call_site() argument 1065 add_call_dest(struct objtool_file *file, struct instruction *insn, struct symbol *dest, bool sibling) add_call_dest() argument 1084 add_retpoline_call(struct objtool_file *file, struct instruction *insn) add_retpoline_call() argument 1118 add_return_call(struct objtool_file *file, struct instruction *insn, bool add) add_return_call() argument 1137 struct instruction *insn; add_jump_destinations() local 1256 struct instruction *insn; add_call_destinations() local 1318 struct instruction *last_orig_insn, *last_new_insn = NULL, *insn, *nop = NULL; handle_group_alt() local 1552 add_jump_table(struct objtool_file *file, struct instruction *insn, struct reloc *table) add_jump_table() argument 1612 find_jump_table(struct objtool_file *file, struct symbol *func, struct instruction *insn) find_jump_table() argument 1658 struct instruction *insn, *last = NULL; mark_func_jump_tables() local 1693 struct instruction *insn; add_func_jump_tables() local 1750 struct instruction *insn; read_unwind_hints() local 1839 struct instruction *insn; read_retpoline_hints() local 1876 struct instruction *insn; read_instr_hints() local 1922 struct instruction *insn; read_intra_function_calls() local 2102 is_special_call(struct instruction *insn) is_special_call() argument 2117 has_modified_stack_frame(struct instruction *insn, struct insn_state *state) has_modified_stack_frame() argument 2154 update_cfi_state_regs(struct instruction *insn, struct cfi_state *cfi, struct stack_op *op) update_cfi_state_regs() argument 2247 update_cfi_state(struct instruction *insn, struct cfi_state *cfi, struct stack_op *op) update_cfi_state() argument 2608 propagate_alt_cfi(struct objtool_file *file, struct instruction *insn) propagate_alt_cfi() argument 2637 handle_insn_ops(struct instruction *insn, struct insn_state *state) handle_insn_ops() argument 2671 insn_cfi_match(struct instruction *insn, struct cfi_state *cfi2) insn_cfi_match() argument 2729 call_dest_name(struct instruction *insn) call_dest_name() argument 2763 validate_call(struct instruction *insn, struct insn_state *state) validate_call() argument 2787 validate_sibling_call(struct instruction *insn, struct insn_state *state) validate_sibling_call() argument 2798 validate_return(struct symbol *func, struct instruction *insn, struct insn_state *state) validate_return() argument 2839 next_insn_to_validate(struct objtool_file *file, struct instruction *insn) next_insn_to_validate() argument 2861 validate_branch(struct objtool_file *file, struct symbol *func, struct instruction *insn, struct insn_state state) validate_branch() argument 3112 struct instruction *insn; validate_unwind_hints() local 3149 validate_entry(struct objtool_file *file, struct instruction *insn) validate_entry() argument 3264 struct instruction *insn; validate_unret() local 3284 struct instruction *insn; validate_retpoline() local 3323 is_kasan_insn(struct instruction *insn) is_kasan_insn() argument 3329 is_ubsan_insn(struct instruction *insn) is_ubsan_insn() argument 3336 ignore_unreachable_insn(struct objtool_file *file, struct instruction *insn) ignore_unreachable_insn() argument 3407 struct instruction *insn; validate_symbol() local 3486 struct instruction *insn; validate_reachable_instructions() local [all...] |
/kernel/linux/linux-6.6/arch/arm64/lib/ |
H A D | insn.c | 16 #include <asm/insn.h> 88 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn) in aarch64_insn_decode_immediate() argument 96 immlo = (insn >> ADR_IMM_LOSHIFT) & ADR_IMM_LOMASK; in aarch64_insn_decode_immediate() 97 immhi = (insn >> ADR_IMM_HISHIFT) & ADR_IMM_HIMASK; in aarch64_insn_decode_immediate() 98 insn = (immhi << ADR_IMM_HILOSPLIT) | immlo; in aarch64_insn_decode_immediate() 109 return (insn >> shift) & mask; in aarch64_insn_decode_immediate() 113 u32 insn, u64 imm) in aarch64_insn_encode_immediate() 118 if (insn == AARCH64_BREAK_FAULT) in aarch64_insn_encode_immediate() 140 insn &= ~(mask << shift); in aarch64_insn_encode_immediate() 141 insn | in aarch64_insn_encode_immediate() 112 aarch64_insn_encode_immediate(enum aarch64_insn_imm_type type, u32 insn, u64 imm) aarch64_insn_encode_immediate() argument 146 aarch64_insn_decode_register(enum aarch64_insn_register_type type, u32 insn) aarch64_insn_decode_register() argument 175 aarch64_insn_encode_register(enum aarch64_insn_register_type type, u32 insn, enum aarch64_insn_register reg) aarch64_insn_encode_register() argument 224 aarch64_insn_encode_ldst_size(enum aarch64_insn_size_type type, u32 insn) aarch64_insn_encode_ldst_size() argument 264 u32 insn; aarch64_insn_gen_branch_imm() local 297 u32 insn; aarch64_insn_gen_comp_branch_imm() local 336 u32 insn; aarch64_insn_gen_cond_branch_imm() local 356 u32 insn; aarch64_insn_gen_branch_reg() local 382 u32 insn; aarch64_insn_gen_load_store_reg() local 416 u32 insn; aarch64_insn_gen_load_store_imm() local 461 u32 insn; aarch64_insn_gen_load_literal() local 486 u32 insn; aarch64_insn_gen_load_store_pair() local 549 u32 insn; aarch64_insn_gen_load_store_ex() local 585 aarch64_insn_encode_ldst_order(enum aarch64_insn_mem_order_type type, u32 insn) aarch64_insn_encode_ldst_order() argument 621 u32 insn; aarch64_insn_gen_atomic_ld_op() local 667 aarch64_insn_encode_cas_order(enum aarch64_insn_mem_order_type type, u32 insn) aarch64_insn_encode_cas_order() argument 702 u32 insn; aarch64_insn_gen_cas() local 735 u32 insn; aarch64_insn_gen_add_sub_imm() local 797 u32 insn; aarch64_insn_gen_bitfield() local 851 u32 insn; aarch64_insn_gen_movewide() local 908 u32 insn; aarch64_insn_gen_add_sub_shifted_reg() local 964 u32 insn; aarch64_insn_gen_data1() local 1008 u32 insn; aarch64_insn_gen_data2() local 1059 u32 insn; aarch64_insn_gen_data3() local 1102 u32 insn; aarch64_insn_gen_logical_shifted_reg() local 1182 u32 insn; aarch64_insn_gen_adr() local 1212 aarch64_get_branch_offset(u32 insn) aarch64_get_branch_offset() argument 1240 aarch64_set_branch_offset(u32 insn, s32 offset) aarch64_set_branch_offset() argument 1259 aarch64_insn_adrp_get_offset(u32 insn) aarch64_insn_adrp_get_offset() argument 1265 aarch64_insn_adrp_set_offset(u32 insn, s32 offset) aarch64_insn_adrp_set_offset() argument 1275 aarch64_insn_extract_system_reg(u32 insn) aarch64_insn_extract_system_reg() argument 1280 aarch32_insn_is_wide(u32 insn) aarch32_insn_is_wide() argument 1288 aarch32_insn_extract_reg_num(u32 insn, int offset) aarch32_insn_extract_reg_num() argument 1295 aarch32_insn_mcr_extract_opc2(u32 insn) aarch32_insn_mcr_extract_opc2() argument 1301 aarch32_insn_mcr_extract_crm(u32 insn) aarch32_insn_mcr_extract_crm() argument 1315 aarch64_encode_immediate(u64 imm, enum aarch64_insn_variant variant, u32 insn) aarch64_encode_immediate() argument 1417 u32 insn; aarch64_insn_gen_logical_immediate() local 1448 u32 insn; aarch64_insn_gen_extr() local 1477 u32 insn; aarch64_insn_gen_dmb() local [all...] |
/kernel/linux/linux-5.10/arch/arm64/kernel/ |
H A D | insn.c | 22 #include <asm/insn.h> 49 enum aarch64_insn_encoding_class __kprobes aarch64_get_insn_class(u32 insn) in aarch64_get_insn_class() argument 51 return aarch64_insn_encoding_class[(insn >> 25) & 0xf]; in aarch64_get_insn_class() 54 bool __kprobes aarch64_insn_is_steppable_hint(u32 insn) in aarch64_insn_is_steppable_hint() argument 56 if (!aarch64_insn_is_hint(insn)) in aarch64_insn_is_steppable_hint() 59 switch (insn & 0xFE0) { in aarch64_insn_is_steppable_hint() 78 bool aarch64_insn_is_branch_imm(u32 insn) in aarch64_insn_is_branch_imm() argument 80 return (aarch64_insn_is_b(insn) || aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch_imm() 81 aarch64_insn_is_tbz(insn) || aarch64_insn_is_tbn in aarch64_insn_is_branch_imm() 139 __aarch64_insn_write(void *addr, __le32 insn) __aarch64_insn_write() argument 156 aarch64_insn_write(void *addr, u32 insn) aarch64_insn_write() argument 161 aarch64_insn_uses_literal(u32 insn) aarch64_insn_uses_literal() argument 171 aarch64_insn_is_branch(u32 insn) aarch64_insn_is_branch() argument 190 aarch64_insn_patch_text_nosync(void *addr, u32 insn) aarch64_insn_patch_text_nosync() argument 316 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn) aarch64_insn_decode_immediate() argument 340 aarch64_insn_encode_immediate(enum aarch64_insn_imm_type type, u32 insn, u64 imm) aarch64_insn_encode_immediate() argument 374 aarch64_insn_decode_register(enum aarch64_insn_register_type type, u32 insn) aarch64_insn_decode_register() argument 403 aarch64_insn_encode_register(enum aarch64_insn_register_type type, u32 insn, enum aarch64_insn_register reg) aarch64_insn_encode_register() argument 445 aarch64_insn_encode_ldst_size(enum aarch64_insn_size_type type, u32 insn) aarch64_insn_encode_ldst_size() argument 497 u32 insn; aarch64_insn_gen_branch_imm() local 530 u32 insn; aarch64_insn_gen_comp_branch_imm() local 569 u32 insn; aarch64_insn_gen_cond_branch_imm() local 599 u32 insn; aarch64_insn_gen_branch_reg() local 625 u32 insn; aarch64_insn_gen_load_store_reg() local 657 u32 insn; aarch64_insn_gen_load_store_pair() local 720 u32 insn; aarch64_insn_gen_load_store_ex() local 754 u32 insn = aarch64_insn_get_ldadd_value(); aarch64_insn_gen_ldadd() local 789 aarch64_insn_encode_prfm_imm(enum aarch64_insn_prfm_type type, enum aarch64_insn_prfm_target target, enum aarch64_insn_prfm_policy policy, u32 insn) aarch64_insn_encode_prfm_imm() argument 847 u32 insn = aarch64_insn_get_prfm_value(); aarch64_insn_gen_prefetch() local 864 u32 insn; aarch64_insn_gen_add_sub_imm() local 926 u32 insn; aarch64_insn_gen_bitfield() local 980 u32 insn; aarch64_insn_gen_movewide() local 1037 u32 insn; aarch64_insn_gen_add_sub_shifted_reg() local 1093 u32 insn; aarch64_insn_gen_data1() local 1137 u32 insn; aarch64_insn_gen_data2() local 1188 u32 insn; aarch64_insn_gen_data3() local 1231 u32 insn; aarch64_insn_gen_logical_shifted_reg() local 1311 u32 insn; aarch64_insn_gen_adr() local 1341 aarch64_get_branch_offset(u32 insn) aarch64_get_branch_offset() argument 1369 aarch64_set_branch_offset(u32 insn, s32 offset) aarch64_set_branch_offset() argument 1388 aarch64_insn_adrp_get_offset(u32 insn) aarch64_insn_adrp_get_offset() argument 1394 aarch64_insn_adrp_set_offset(u32 insn, s32 offset) aarch64_insn_adrp_set_offset() argument 1404 aarch64_insn_extract_system_reg(u32 insn) aarch64_insn_extract_system_reg() argument 1409 aarch32_insn_is_wide(u32 insn) aarch32_insn_is_wide() argument 1417 aarch32_insn_extract_reg_num(u32 insn, int offset) aarch32_insn_extract_reg_num() argument 1424 aarch32_insn_mcr_extract_opc2(u32 insn) aarch32_insn_mcr_extract_opc2() argument 1430 aarch32_insn_mcr_extract_crm(u32 insn) aarch32_insn_mcr_extract_crm() argument 1542 aarch64_encode_immediate(u64 imm, enum aarch64_insn_variant variant, u32 insn) aarch64_encode_immediate() argument 1644 u32 insn; aarch64_insn_gen_logical_immediate() local 1675 u32 insn; aarch64_insn_gen_extr() local [all...] |
/kernel/linux/linux-5.10/arch/loongarch/net/ |
H A D | ebpf_jit.h | 31 union loongarch_instruction *insn = &ctx->image[ctx->idx]; \ 32 emit_##func(insn, ##__VA_ARGS__); \ 75 static inline void emit_ldbu(union loongarch_instruction *insn, in emit_ldbu() argument 78 insn->reg2i12_format.opcode = ldbu_op; in emit_ldbu() 79 insn->reg2i12_format.simmediate = imm; in emit_ldbu() 80 insn->reg2i12_format.rd = rd; in emit_ldbu() 81 insn->reg2i12_format.rj = rj; in emit_ldbu() 84 static inline void emit_ldhu(union loongarch_instruction *insn, in emit_ldhu() argument 87 insn->reg2i12_format.opcode = ldhu_op; in emit_ldhu() 88 insn in emit_ldhu() 93 emit_ldwu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_ldwu() argument 102 emit_ldd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_ldd() argument 111 emit_stb(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_stb() argument 120 emit_sth(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_sth() argument 129 emit_stw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_stw() argument 138 emit_std(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_std() argument 147 emit_ldxbu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_ldxbu() argument 156 emit_ldxhu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_ldxhu() argument 165 emit_ldxwu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_ldxwu() argument 174 emit_ldxd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_ldxd() argument 183 emit_stxb(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_stxb() argument 192 emit_stxh(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_stxh() argument 201 emit_stxw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_stxw() argument 210 emit_stxd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_stxd() argument 219 emit_amaddw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rk, enum loongarch_gpr rj) emit_amaddw() argument 228 emit_amaddd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rk, enum loongarch_gpr rj) emit_amaddd() argument 237 emit_addd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_addd() argument 246 emit_addiw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_addiw() argument 255 emit_addid(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_addid() argument 264 emit_subd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_subd() argument 273 emit_muld(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_muld() argument 282 emit_divdu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_divdu() argument 291 emit_moddu(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_moddu() argument 300 emit_and(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_and() argument 309 emit_andi(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_andi() argument 318 emit_or(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_or() argument 327 emit_ori(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_ori() argument 336 emit_xor(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_xor() argument 345 emit_xori(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_xori() argument 354 emit_lu12iw(union loongarch_instruction *insn, enum loongarch_gpr rd, int imm) emit_lu12iw() argument 362 emit_lu32id(union loongarch_instruction *insn, enum loongarch_gpr rd, int imm) emit_lu32id() argument 370 emit_lu52id(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) emit_lu52id() argument 379 emit_sllw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_sllw() argument 388 emit_slliw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_slliw() argument 397 emit_slld(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_slld() argument 406 emit_sllid(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_sllid() argument 415 emit_srlw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_srlw() argument 424 emit_srliw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_srliw() argument 433 emit_srld(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_srld() argument 442 emit_srlid(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_srlid() argument 451 emit_sraw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_sraw() argument 460 emit_sraiw(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_sraiw() argument 469 emit_srad(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, enum loongarch_gpr rk) emit_srad() argument 478 emit_sraid(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm) emit_sraid() argument 487 emit_beq(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_beq() argument 496 emit_bne(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_bne() argument 505 emit_blt(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_blt() argument 514 emit_bge(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_bge() argument 523 emit_bltu(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_bltu() argument 532 emit_bgeu(union loongarch_instruction *insn, enum loongarch_gpr rj, enum loongarch_gpr rd, int offset) emit_bgeu() argument 541 emit_b(union loongarch_instruction *insn, int offset) emit_b() argument 554 emit_jirl(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj, int offset) emit_jirl() argument 563 emit_pcaddu18i(union loongarch_instruction *insn, enum loongarch_gpr rd, int imm) emit_pcaddu18i() argument 571 emit_revb2h(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj) emit_revb2h() argument 579 emit_revb2w(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj) emit_revb2w() argument 587 emit_revbd(union loongarch_instruction *insn, enum loongarch_gpr rd, enum loongarch_gpr rj) emit_revbd() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/xmon/ |
H A D | spu.h | 80 #define SIGNED_EXTRACT(insn,size,pos) (((int)((insn) << (32-size-pos))) >> (32-size)) 81 #define UNSIGNED_EXTRACT(insn,size,pos) (((insn) >> pos) & ((1 << size)-1)) 83 #define DECODE_INSN_RT(insn) (insn & 0x7f) 84 #define DECODE_INSN_RA(insn) ((insn >> 7) & 0x7f) 85 #define DECODE_INSN_RB(insn) ((insn >> 1 [all...] |
/kernel/linux/linux-6.6/arch/powerpc/xmon/ |
H A D | spu.h | 80 #define SIGNED_EXTRACT(insn,size,pos) (((int)((insn) << (32-size-pos))) >> (32-size)) 81 #define UNSIGNED_EXTRACT(insn,size,pos) (((insn) >> pos) & ((1 << size)-1)) 83 #define DECODE_INSN_RT(insn) (insn & 0x7f) 84 #define DECODE_INSN_RA(insn) ((insn >> 7) & 0x7f) 85 #define DECODE_INSN_RB(insn) ((insn >> 1 [all...] |
/kernel/linux/linux-6.6/tools/objtool/ |
H A D | check.c | 26 struct instruction *insn; member 40 struct instruction *insn; in find_insn() local 42 hash_for_each_possible(file->insn_hash, insn, hash, sec_offset_hash(sec, offset)) { in find_insn() 43 if (insn->sec == sec && insn->offset == offset) in find_insn() 44 return insn; in find_insn() 51 struct instruction *insn) in next_insn_same_sec() 53 if (insn->idx == INSN_CHUNK_MAX) in next_insn_same_sec() 54 return find_insn(file, insn->sec, insn in next_insn_same_sec() 50 next_insn_same_sec(struct objtool_file *file, struct instruction *insn) next_insn_same_sec() argument 63 next_insn_same_func(struct objtool_file *file, struct instruction *insn) next_insn_same_func() argument 83 prev_insn_same_sec(struct objtool_file *file, struct instruction *insn) prev_insn_same_sec() argument 95 prev_insn_same_sym(struct objtool_file *file, struct instruction *insn) prev_insn_same_sym() argument 134 insn_call_dest(struct instruction *insn) insn_call_dest() argument 143 insn_jump_table(struct instruction *insn) insn_jump_table() argument 152 is_jump_table_jump(struct instruction *insn) is_jump_table_jump() argument 164 is_sibling_call(struct instruction *insn) is_sibling_call() argument 192 struct instruction *insn; __dead_end_function() local 373 struct instruction *insn; decode_instructions() local 569 struct instruction *insn = NULL; find_last_insn() local 586 struct instruction *insn; add_dead_ends() local 670 struct instruction *insn; create_static_call_sections() local 757 struct instruction *insn; create_retpoline_sites_sections() local 795 struct instruction *insn; create_return_sites_sections() local 833 struct instruction *insn; create_ibt_endbr_seal_sections() local 936 struct instruction *insn; create_mcount_loc_sections() local 981 struct instruction *insn; create_direct_call_sections() local 1023 struct instruction *insn; add_ignores() local 1267 struct instruction *insn; add_ignore_alternatives() local 1318 insn_reloc(struct objtool_file *file, struct instruction *insn) insn_reloc() argument 1338 remove_insn_ops(struct instruction *insn) remove_insn_ops() argument 1349 annotate_call_site(struct objtool_file *file, struct instruction *insn, bool sibling) annotate_call_site() argument 1431 add_call_dest(struct objtool_file *file, struct instruction *insn, struct symbol *dest, bool sibling) add_call_dest() argument 1450 add_retpoline_call(struct objtool_file *file, struct instruction *insn) add_retpoline_call() argument 1484 add_return_call(struct objtool_file *file, struct instruction *insn, bool add) add_return_call() argument 1497 is_first_func_insn(struct objtool_file *file, struct instruction *insn, struct symbol *sym) is_first_func_insn() argument 1546 struct instruction *insn, *jump_dest; add_jump_destinations() local 1672 struct instruction *insn; add_call_destinations() local 1731 struct instruction *last_new_insn = NULL, *insn, *nop = NULL; handle_group_alt() local 2002 add_jump_table(struct objtool_file *file, struct instruction *insn, struct reloc *next_table) add_jump_table() argument 2063 find_jump_table(struct objtool_file *file, struct symbol *func, struct instruction *insn) find_jump_table() argument 2109 struct instruction *insn, *last = NULL; mark_func_jump_tables() local 2142 struct instruction *insn, *insn_t1 = NULL, *insn_t2; add_func_jump_tables() local 2209 struct instruction *insn; read_unwind_hints() local 2297 struct instruction *insn; read_noendbr_hints() local 2322 struct instruction *insn; read_retpoline_hints() local 2358 struct instruction *insn; read_instr_hints() local 2405 struct instruction *insn; read_validate_unret_hints() local 2432 struct instruction *insn; read_intra_function_calls() local 2653 is_special_call(struct instruction *insn) is_special_call() argument 2668 has_modified_stack_frame(struct instruction *insn, struct insn_state *state) has_modified_stack_frame() argument 2713 update_cfi_state_regs(struct instruction *insn, struct cfi_state *cfi, struct stack_op *op) update_cfi_state_regs() argument 2806 update_cfi_state(struct instruction *insn, struct instruction *next_insn, struct cfi_state *cfi, struct stack_op *op) update_cfi_state() argument 3225 propagate_alt_cfi(struct objtool_file *file, struct instruction *insn) propagate_alt_cfi() argument 3257 handle_insn_ops(struct instruction *insn, struct instruction *next_insn, struct insn_state *state) handle_insn_ops() argument 3295 insn_cfi_match(struct instruction *insn, struct cfi_state *cfi2) insn_cfi_match() argument 3350 call_dest_name(struct instruction *insn) call_dest_name() argument 3369 pv_call_dest(struct objtool_file *file, struct instruction *insn) pv_call_dest() argument 3396 noinstr_call_dest(struct objtool_file *file, struct instruction *insn, struct symbol *func) noinstr_call_dest() argument 3434 validate_call(struct objtool_file *file, struct instruction *insn, struct insn_state *state) validate_call() argument 3457 validate_sibling_call(struct objtool_file *file, struct instruction *insn, struct insn_state *state) validate_sibling_call() argument 3469 validate_return(struct symbol *func, struct instruction *insn, struct insn_state *state) validate_return() argument 3504 next_insn_to_validate(struct objtool_file *file, struct instruction *insn) next_insn_to_validate() argument 3543 validate_branch(struct objtool_file *file, struct symbol *func, struct instruction *insn, struct insn_state state) validate_branch() argument 3790 validate_unwind_hint(struct objtool_file *file, struct instruction *insn, struct insn_state *state) validate_unwind_hint() argument 3806 struct instruction *insn; validate_unwind_hints() local 3832 validate_unret(struct objtool_file *file, struct instruction *insn) validate_unret() argument 3942 struct instruction *insn; validate_unrets() local 3962 struct instruction *insn; validate_retpoline() local 3993 is_kasan_insn(struct instruction *insn) is_kasan_insn() argument 3999 is_ubsan_insn(struct instruction *insn) is_ubsan_insn() argument 4006 ignore_unreachable_insn(struct objtool_file *file, struct instruction *insn) ignore_unreachable_insn() argument 4118 struct instruction *insn, *prev; add_prefix_symbol() local 4187 struct instruction *insn; validate_symbol() local 4270 mark_endbr_used(struct instruction *insn) mark_endbr_used() argument 4276 noendbr_range(struct objtool_file *file, struct instruction *insn) noendbr_range() argument 4294 validate_ibt_insn(struct objtool_file *file, struct instruction *insn) validate_ibt_insn() argument 4423 struct instruction *insn; validate_ibt() local 4471 struct instruction *insn, *next_insn; validate_sls() local 4502 ignore_noreturn_call(struct instruction *insn) ignore_noreturn_call() argument 4533 struct instruction *insn, *prev_insn; validate_reachable_instructions() local 4649 struct instruction *insn; free_insns() local [all...] |
/kernel/linux/linux-5.10/arch/s390/tools/ |
H A D | gen_opcode_table.c | 22 struct insn { struct 44 struct insn *insn; member 154 struct insn insn; in read_instructions() local 158 rc = scanf("%s %s %s", insn.opcode, insn.name, insn.format); in read_instructions() 163 insn.type = insn_format_to_type(insn in read_instructions() 206 struct insn *insn; print_long_insn() local 231 print_opcode(struct insn *insn, int nr) print_opcode() argument 246 add_to_group(struct gen_opcode *desc, struct insn *insn, int offset) add_to_group() argument 274 struct insn *insn; print_opcode_table() local [all...] |
/kernel/linux/linux-6.6/arch/s390/tools/ |
H A D | gen_opcode_table.c | 22 struct insn { struct 44 struct insn *insn; member 154 struct insn insn; in read_instructions() local 158 rc = scanf("%s %s %s", insn.opcode, insn.name, insn.format); in read_instructions() 163 insn.type = insn_format_to_type(insn in read_instructions() 206 struct insn *insn; print_long_insn() local 231 print_opcode(struct insn *insn, int nr) print_opcode() argument 246 add_to_group(struct gen_opcode *desc, struct insn *insn, int offset) add_to_group() argument 274 struct insn *insn; print_opcode_table() local [all...] |
/kernel/linux/linux-5.10/arch/mips/kernel/ |
H A D | branch.c | 62 union mips_instruction insn = (union mips_instruction)dec_insn.insn; in __mm_isBranchInstr() local 68 switch (insn.mm_i_format.opcode) { in __mm_isBranchInstr() 70 if ((insn.mm_i_format.simmediate & MM_POOL32A_MINOR_MASK) == in __mm_isBranchInstr() 72 switch (insn.mm_i_format.simmediate >> in __mm_isBranchInstr() 78 if (insn.mm_i_format.rt != 0) /* Not mm_jr */ in __mm_isBranchInstr() 79 regs->regs[insn.mm_i_format.rt] = in __mm_isBranchInstr() 83 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr() 89 switch (insn.mm_i_format.rt) { in __mm_isBranchInstr() 97 if ((long)regs->regs[insn in __mm_isBranchInstr() 422 __compute_return_epc_for_insn(struct pt_regs *regs, union mips_instruction insn) __compute_return_epc_for_insn() argument 853 union mips_instruction insn; __compute_return_epc() local 878 __insn_is_compact_branch(union mips_instruction insn) __insn_is_compact_branch() argument [all...] |
/kernel/linux/linux-6.6/arch/mips/kernel/ |
H A D | branch.c | 62 union mips_instruction insn = (union mips_instruction)dec_insn.insn; in __mm_isBranchInstr() local 68 switch (insn.mm_i_format.opcode) { in __mm_isBranchInstr() 70 if ((insn.mm_i_format.simmediate & MM_POOL32A_MINOR_MASK) == in __mm_isBranchInstr() 72 switch (insn.mm_i_format.simmediate >> in __mm_isBranchInstr() 78 if (insn.mm_i_format.rt != 0) /* Not mm_jr */ in __mm_isBranchInstr() 79 regs->regs[insn.mm_i_format.rt] = in __mm_isBranchInstr() 83 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr() 89 switch (insn.mm_i_format.rt) { in __mm_isBranchInstr() 97 if ((long)regs->regs[insn in __mm_isBranchInstr() 422 __compute_return_epc_for_insn(struct pt_regs *regs, union mips_instruction insn) __compute_return_epc_for_insn() argument 853 union mips_instruction insn; __compute_return_epc() local 878 __insn_is_compact_branch(union mips_instruction insn) __insn_is_compact_branch() argument [all...] |
/kernel/linux/linux-5.10/arch/arm/probes/kprobes/ |
H A D | actions-thumb.c | 24 t32_simulate_table_branch(probes_opcode_t insn, in t32_simulate_table_branch() argument 28 int rn = (insn >> 16) & 0xf; in t32_simulate_table_branch() 29 int rm = insn & 0xf; in t32_simulate_table_branch() 35 if (insn & 0x10) /* TBH */ in t32_simulate_table_branch() 44 t32_simulate_mrs(probes_opcode_t insn, in t32_simulate_mrs() argument 47 int rd = (insn >> 8) & 0xf; in t32_simulate_mrs() 53 t32_simulate_cond_branch(probes_opcode_t insn, in t32_simulate_cond_branch() argument 58 long offset = insn & 0x7ff; /* imm11 */ in t32_simulate_cond_branch() 59 offset += (insn & 0x003f0000) >> 5; /* imm6 */ in t32_simulate_cond_branch() 60 offset += (insn in t32_simulate_cond_branch() 68 t32_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t32_decode_cond_branch() argument 78 t32_simulate_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_simulate_branch() argument 106 t32_simulate_ldr_literal(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_simulate_ldr_literal() argument 144 t32_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t32_decode_ldmstm() argument 158 t32_emulate_ldrdstrd(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_ldrdstrd() argument 185 t32_emulate_ldrstr(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_ldrstr() argument 211 t32_emulate_rd8rn16rm0_rwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8rn16rm0_rwflags() argument 238 t32_emulate_rd8pc16_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8pc16_noflags() argument 258 t32_emulate_rd8rn16_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8rn16_noflags() argument 278 t32_emulate_rdlo12rdhi8rn16rm0_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rdlo12rdhi8rn16rm0_noflags() argument 306 t16_simulate_bxblx(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_bxblx() argument 320 t16_simulate_ldr_literal(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_ldr_literal() argument 330 t16_simulate_ldrstr_sp_relative(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_ldrstr_sp_relative() argument 343 t16_simulate_reladr(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_reladr() argument 354 t16_simulate_add_sp_imm(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_add_sp_imm() argument 365 t16_simulate_cbz(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_cbz() argument 379 t16_simulate_it(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_it() argument 396 t16_singlestep_it(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_singlestep_it() argument 404 t16_decode_it(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_it() argument 412 t16_simulate_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_cond_branch() argument 422 t16_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_cond_branch() argument 432 t16_simulate_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_branch() argument 442 t16_emulate_loregs(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs() argument 465 t16_emulate_loregs_rwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs_rwflags() argument 472 t16_emulate_loregs_noitrwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs_noitrwflags() argument 481 t16_emulate_hiregs(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_hiregs() argument 512 t16_decode_hiregs(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_hiregs() argument 523 t16_emulate_push(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_push() argument 540 t16_decode_push(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_push() argument 557 t16_emulate_pop_nopc(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_pop_nopc() argument 574 t16_emulate_pop_pc(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_pop_pc() argument 595 t16_decode_pop(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_pop() argument [all...] |
/kernel/linux/linux-6.6/arch/arm/probes/kprobes/ |
H A D | actions-thumb.c | 24 t32_simulate_table_branch(probes_opcode_t insn, in t32_simulate_table_branch() argument 28 int rn = (insn >> 16) & 0xf; in t32_simulate_table_branch() 29 int rm = insn & 0xf; in t32_simulate_table_branch() 35 if (insn & 0x10) /* TBH */ in t32_simulate_table_branch() 44 t32_simulate_mrs(probes_opcode_t insn, in t32_simulate_mrs() argument 47 int rd = (insn >> 8) & 0xf; in t32_simulate_mrs() 53 t32_simulate_cond_branch(probes_opcode_t insn, in t32_simulate_cond_branch() argument 58 long offset = insn & 0x7ff; /* imm11 */ in t32_simulate_cond_branch() 59 offset += (insn & 0x003f0000) >> 5; /* imm6 */ in t32_simulate_cond_branch() 60 offset += (insn in t32_simulate_cond_branch() 68 t32_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t32_decode_cond_branch() argument 78 t32_simulate_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_simulate_branch() argument 106 t32_simulate_ldr_literal(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_simulate_ldr_literal() argument 144 t32_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t32_decode_ldmstm() argument 158 t32_emulate_ldrdstrd(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_ldrdstrd() argument 185 t32_emulate_ldrstr(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_ldrstr() argument 211 t32_emulate_rd8rn16rm0_rwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8rn16rm0_rwflags() argument 238 t32_emulate_rd8pc16_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8pc16_noflags() argument 258 t32_emulate_rd8rn16_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rd8rn16_noflags() argument 278 t32_emulate_rdlo12rdhi8rn16rm0_noflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t32_emulate_rdlo12rdhi8rn16rm0_noflags() argument 306 t16_simulate_bxblx(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_bxblx() argument 320 t16_simulate_ldr_literal(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_ldr_literal() argument 330 t16_simulate_ldrstr_sp_relative(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_ldrstr_sp_relative() argument 343 t16_simulate_reladr(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_reladr() argument 354 t16_simulate_add_sp_imm(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_add_sp_imm() argument 365 t16_simulate_cbz(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_cbz() argument 379 t16_simulate_it(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_it() argument 396 t16_singlestep_it(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_singlestep_it() argument 404 t16_decode_it(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_it() argument 412 t16_simulate_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_cond_branch() argument 422 t16_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_cond_branch() argument 432 t16_simulate_branch(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_simulate_branch() argument 442 t16_emulate_loregs(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs() argument 467 t16_emulate_loregs_rwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs_rwflags() argument 474 t16_emulate_loregs_noitrwflags(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_loregs_noitrwflags() argument 483 t16_emulate_hiregs(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_hiregs() argument 514 t16_decode_hiregs(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_hiregs() argument 525 t16_emulate_push(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_push() argument 544 t16_decode_push(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_push() argument 561 t16_emulate_pop_nopc(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_pop_nopc() argument 580 t16_emulate_pop_pc(probes_opcode_t insn, struct arch_probes_insn *asi, struct pt_regs *regs) t16_emulate_pop_pc() argument 603 t16_decode_pop(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *d) t16_decode_pop() argument [all...] |