/linux-master/arch/sh/kernel/cpu/sh2a/ |
H A D | opcode_helper.c | 34 unsigned int instruction_size(unsigned int insn) argument 37 switch ((insn & 0xf00f)) { 45 switch ((insn & 0xf08f)) {
|
/linux-master/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...] |
H A D | dis-asm.h | 11 extern int print_insn_powerpc(unsigned long insn, unsigned long memaddr); 12 extern int print_insn_spu(unsigned long insn, unsigned long memaddr); 14 static inline int print_insn_powerpc(unsigned long insn, unsigned long memaddr) argument 16 printf("%.8lx", insn); 20 static inline int print_insn_spu(unsigned long insn, unsigned long memaddr) argument 22 printf("%.8lx", insn);
|
/linux-master/kernel/bpf/ |
H A D | disasm.c | 17 const struct bpf_insn *insn, 22 if (!insn->src_reg && 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && 24 func_id_str[insn->imm]) 25 return func_id_str[insn->imm]; 30 res = cbs->cb_call(cbs->private_data, insn); 35 if (insn->src_reg == BPF_PSEUDO_CALL) 36 snprintf(buff, len, "%+d", insn->imm); 37 else if (insn 16 __func_get_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, char *buff, size_t len) argument 43 __func_imm_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, u64 full_imm, char *buff, size_t len) argument 138 print_bpf_end_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) argument 148 print_bpf_bswap_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) argument 157 is_sdiv_smod(const struct bpf_insn *insn) argument 163 is_movsx(const struct bpf_insn *insn) argument 169 is_addr_space_cast(const struct bpf_insn *insn) argument 175 print_bpf_insn(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, bool allow_ptr_leaks) argument [all...] |
/linux-master/tools/testing/selftests/bpf/ |
H A D | disasm.c | 17 const struct bpf_insn *insn, 22 if (!insn->src_reg && 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && 24 func_id_str[insn->imm]) 25 return func_id_str[insn->imm]; 30 res = cbs->cb_call(cbs->private_data, insn); 35 if (insn->src_reg == BPF_PSEUDO_CALL) 36 snprintf(buff, len, "%+d", insn->imm); 37 else if (insn 16 __func_get_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, char *buff, size_t len) argument 43 __func_imm_name(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, u64 full_imm, char *buff, size_t len) argument 138 print_bpf_end_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) argument 148 print_bpf_bswap_insn(bpf_insn_print_t verbose, void *private_data, const struct bpf_insn *insn) argument 157 is_sdiv_smod(const struct bpf_insn *insn) argument 163 is_movsx(const struct bpf_insn *insn) argument 169 is_addr_space_cast(const struct bpf_insn *insn) argument 175 print_bpf_insn(const struct bpf_insn_cbs *cbs, const struct bpf_insn *insn, bool allow_ptr_leaks) argument [all...] |
/linux-master/arch/parisc/include/asm/ |
H A D | patch.h | 6 void patch_text(void *addr, unsigned int insn); 7 void patch_text_multiple(void *addr, u32 *insn, unsigned int len); 10 void __patch_text(void *addr, u32 insn); 11 void __patch_text_multiple(void *addr, u32 *insn, unsigned int len);
|
/linux-master/arch/csky/kernel/probes/ |
H A D | decode-insn.c | 9 #include "decode-insn.h" 10 #include "simulate-insn.h" 19 probe_opcode_t insn = le32_to_cpu(*addr); local 21 CSKY_INSN_SET_SIMULATE(br16, insn); 22 CSKY_INSN_SET_SIMULATE(bt16, insn); 23 CSKY_INSN_SET_SIMULATE(bf16, insn); 24 CSKY_INSN_SET_SIMULATE(jmp16, insn); 25 CSKY_INSN_SET_SIMULATE(jsr16, insn); 26 CSKY_INSN_SET_SIMULATE(lrw16, insn); 27 CSKY_INSN_SET_SIMULATE(pop16, insn); [all...] |
H A D | Makefile | 2 obj-$(CONFIG_KPROBES) += kprobes.o decode-insn.o simulate-insn.o 5 obj-$(CONFIG_UPROBES) += uprobes.o decode-insn.o simulate-insn.o 7 CFLAGS_REMOVE_simulate-insn.o = $(CC_FLAGS_FTRACE)
|
/linux-master/arch/sparc/include/asm/ |
H A D | extable.h | 18 unsigned int insn, fixup; member in struct:exception_table_entry
|
/linux-master/arch/arm/include/asm/ |
H A D | patch.h | 5 void patch_text(void *addr, unsigned int insn); 6 void __patch_text_real(void *addr, unsigned int insn, bool remap); 8 static inline void __patch_text(void *addr, unsigned int insn) argument 10 __patch_text_real(addr, insn, true); 13 static inline void __patch_text_early(void *addr, unsigned int insn) argument 15 __patch_text_real(addr, insn, false);
|
/linux-master/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) argument 85 __insn_get_emulate_prefix(struct insn *insn, const insn_byte_t *prefix, size_t len) argument 104 insn_get_emulate_prefix(struct insn *insn) argument 124 insn_get_prefixes(struct insn *insn) argument 262 insn_get_opcode(struct insn *insn) argument 331 insn_get_modrm(struct insn *insn) argument 377 insn_rip_relative(struct insn *insn) argument 406 insn_get_sib(struct insn *insn) argument 447 insn_get_displacement(struct insn *insn) argument 507 __get_moffset(struct insn *insn) argument 532 __get_immv32(struct insn *insn) argument 553 __get_immv(struct insn *insn) argument 578 __get_immptr(struct insn *insn) argument 614 insn_get_immediate(struct insn *insn) argument 687 insn_get_length(struct insn *insn) argument 705 insn_complete(struct insn *insn) argument 722 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) argument [all...] |
/linux-master/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) argument 85 __insn_get_emulate_prefix(struct insn *insn, const insn_byte_t *prefix, size_t len) argument 104 insn_get_emulate_prefix(struct insn *insn) argument 124 insn_get_prefixes(struct insn *insn) argument 262 insn_get_opcode(struct insn *insn) argument 331 insn_get_modrm(struct insn *insn) argument 377 insn_rip_relative(struct insn *insn) argument 406 insn_get_sib(struct insn *insn) argument 447 insn_get_displacement(struct insn *insn) argument 507 __get_moffset(struct insn *insn) argument 532 __get_immv32(struct insn *insn) argument 553 __get_immv(struct insn *insn) argument 578 __get_immptr(struct insn *insn) argument 614 insn_get_immediate(struct insn *insn) argument 687 insn_get_length(struct insn *insn) argument 705 insn_complete(struct insn *insn) argument 722 insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m) argument [all...] |
/linux-master/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) argument 164 insn_is_avx(struct insn *insn) argument 171 insn_is_evex(struct insn *insn) argument 178 insn_has_emulate_prefix(struct insn *insn) argument 183 insn_vex_m_bits(struct insn *insn) argument 193 insn_vex_p_bits(struct insn *insn) argument 202 insn_last_prefix_id(struct insn *insn) argument 214 insn_offset_rex_prefix(struct insn *insn) argument 218 insn_offset_vex_prefix(struct insn *insn) argument 222 insn_offset_opcode(struct insn *insn) argument 226 insn_offset_modrm(struct insn *insn) argument 230 insn_offset_sib(struct insn *insn) argument 234 insn_offset_displacement(struct insn *insn) argument 238 insn_offset_immediate(struct insn *insn) argument 269 insn_masking_exception(struct insn *insn) argument [all...] |
/linux-master/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) argument 164 insn_is_avx(struct insn *insn) argument 171 insn_is_evex(struct insn *insn) argument 178 insn_has_emulate_prefix(struct insn *insn) argument 183 insn_vex_m_bits(struct insn *insn) argument 193 insn_vex_p_bits(struct insn *insn) argument 202 insn_last_prefix_id(struct insn *insn) argument 214 insn_offset_rex_prefix(struct insn *insn) argument 218 insn_offset_vex_prefix(struct insn *insn) argument 222 insn_offset_opcode(struct insn *insn) argument 226 insn_offset_modrm(struct insn *insn) argument 230 insn_offset_sib(struct insn *insn) argument 234 insn_offset_displacement(struct insn *insn) argument 238 insn_offset_immediate(struct insn *insn) argument 269 insn_masking_exception(struct insn *insn) argument [all...] |
/linux-master/arch/riscv/kernel/probes/ |
H A D | decode-insn.c | 9 #include "decode-insn.h" 10 #include "simulate-insn.h" 19 probe_opcode_t insn = *addr; local 24 RISCV_INSN_REJECTED(system, insn); 25 RISCV_INSN_REJECTED(fence, insn); 32 RISCV_INSN_REJECTED(c_jal, insn); 33 RISCV_INSN_REJECTED(c_ebreak, insn); 35 RISCV_INSN_SET_SIMULATE(c_j, insn); 36 RISCV_INSN_SET_SIMULATE(c_jr, insn); 37 RISCV_INSN_SET_SIMULATE(c_jalr, insn); [all...] |
H A D | Makefile | 2 obj-$(CONFIG_KPROBES) += kprobes.o decode-insn.o simulate-insn.o 5 obj-$(CONFIG_UPROBES) += uprobes.o decode-insn.o simulate-insn.o 6 CFLAGS_REMOVE_simulate-insn.o = $(CC_FLAGS_FTRACE)
|
/linux-master/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) argument 96 immlo = (insn >> ADR_IMM_LOSHIFT) & ADR_IMM_LOMASK; 97 immhi = (insn >> ADR_IMM_HISHIFT) & ADR_IMM_HIMASK; 98 insn = (immhi << ADR_IMM_HILOSPLIT) | immlo; 109 return (insn >> shift) & mask; 113 u32 insn, u64 imm) 118 if (insn == AARCH64_BREAK_FAULT) 140 insn &= ~(mask << shift); 141 insn | 112 aarch64_insn_encode_immediate(enum aarch64_insn_imm_type type, u32 insn, u64 imm) argument 146 aarch64_insn_decode_register(enum aarch64_insn_register_type type, u32 insn) argument 175 aarch64_insn_encode_register(enum aarch64_insn_register_type type, u32 insn, enum aarch64_insn_register reg) argument 224 aarch64_insn_encode_ldst_size(enum aarch64_insn_size_type type, u32 insn) argument 264 u32 insn; local 297 u32 insn; local 336 u32 insn; local 356 u32 insn; local 382 u32 insn; local 416 u32 insn; local 461 u32 insn; local 486 u32 insn; local 549 u32 insn; local 585 aarch64_insn_encode_ldst_order(enum aarch64_insn_mem_order_type type, u32 insn) argument 621 u32 insn; local 667 aarch64_insn_encode_cas_order(enum aarch64_insn_mem_order_type type, u32 insn) argument 702 u32 insn; local 735 u32 insn; local 797 u32 insn; local 851 u32 insn; local 908 u32 insn; local 964 u32 insn; local 1008 u32 insn; local 1059 u32 insn; local 1102 u32 insn; local 1182 u32 insn; local 1212 aarch64_get_branch_offset(u32 insn) argument 1240 aarch64_set_branch_offset(u32 insn, s32 offset) argument 1259 aarch64_insn_adrp_get_offset(u32 insn) argument 1265 aarch64_insn_adrp_set_offset(u32 insn, s32 offset) argument 1275 aarch64_insn_extract_system_reg(u32 insn) argument 1280 aarch32_insn_is_wide(u32 insn) argument 1288 aarch32_insn_extract_reg_num(u32 insn, int offset) argument 1295 aarch32_insn_mcr_extract_opc2(u32 insn) argument 1301 aarch32_insn_mcr_extract_crm(u32 insn) argument 1315 aarch64_encode_immediate(u64 imm, enum aarch64_insn_variant variant, u32 insn) argument 1417 u32 insn; local 1448 u32 insn; local 1477 u32 insn; local [all...] |
/linux-master/arch/s390/tools/ |
H A D | gen_opcode_table.c | 22 struct insn { struct 44 struct insn *insn; member in struct:gen_opcode 154 struct insn insn; local 158 rc = scanf("%s %s %s", insn.opcode, insn.name, insn.format); 163 insn.type = insn_format_to_type(insn 206 struct insn *insn; local 231 print_opcode(struct insn *insn, int nr) argument 246 add_to_group(struct gen_opcode *desc, struct insn *insn, int offset) argument 274 struct insn *insn; local [all...] |
/linux-master/arch/arm64/kernel/probes/ |
H A D | Makefile | 2 obj-$(CONFIG_KPROBES) += kprobes.o decode-insn.o \ 4 simulate-insn.o 5 obj-$(CONFIG_UPROBES) += uprobes.o decode-insn.o \ 6 simulate-insn.o
|
H A D | decode-insn.c | 3 * arch/arm64/kernel/probes/decode-insn.c 12 #include <asm/insn.h> 15 #include "decode-insn.h" 16 #include "simulate-insn.h" 18 static bool __kprobes aarch64_insn_is_steppable(u32 insn) argument 27 if (aarch64_insn_is_class_branch_sys(insn)) { 28 if (aarch64_insn_is_branch(insn) || 29 aarch64_insn_is_msr_imm(insn) || 30 aarch64_insn_is_msr_reg(insn) || 31 aarch64_insn_is_exception(insn) || 76 arm_probe_decode_insn(probe_opcode_t insn, struct arch_probe_insn *api) argument 140 probe_opcode_t insn = le32_to_cpu(*addr); local [all...] |
/linux-master/tools/perf/arch/x86/util/ |
H A D | archinsn.c | 7 #include "../../../../arch/x86/include/asm/insn.h" 13 struct insn insn; local 19 len = thread__memcpy(thread, machine, sample->insn, sample->ip, sizeof(sample->insn), &is64bit); 23 ret = insn_decode(&insn, sample->insn, len, 25 if (ret >= 0 && insn.length <= len) 26 sample->insn_len = insn.length;
|
/linux-master/arch/loongarch/kernel/ |
H A D | jump_label.c | 13 u32 insn; local 17 insn = larch_insn_gen_b(jump_entry_code(entry), jump_entry_target(entry)); 19 insn = larch_insn_gen_nop(); 21 larch_insn_patch_text(addr, insn);
|
/linux-master/tools/perf/arch/x86/tests/ |
H A D | gen-insn-x86-dat.sh | 3 # gen-insn-x86-dat: generate data for the insn-x86 test 18 echo "Compiling insn-x86-dat-src.c to 64-bit object" 20 gcc -g -c insn-x86-dat-src.c 22 objdump -dSw insn-x86-dat-src.o | awk -f gen-insn-x86-dat.awk > insn-x86-dat-64.c 24 rm -f insn-x86-dat-src.o 26 echo "Compiling insn-x86-dat-src.c to 32-bit object" 28 gcc -g -c -m32 insn [all...] |
/linux-master/arch/arm64/kernel/ |
H A D | jump_label.c | 10 #include <asm/insn.h> 17 u32 insn; local 20 insn = aarch64_insn_gen_branch_imm(jump_entry_code(entry), 24 insn = aarch64_insn_gen_nop(); 27 aarch64_insn_patch_text_nosync(addr, insn);
|
/linux-master/arch/riscv/include/asm/ |
H A D | asm-extable.h | 15 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \ 18 .long ((insn) - .); \ 24 .macro _asm_extable, insn, fixup variable 25 __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0) 34 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \ 37 ".long ((" insn ") - .)\n" \ 43 #define _ASM_EXTABLE(insn, fixup) \ 44 __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0") 59 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \ 61 __ASM_EXTABLE_RAW(#insn, #fixu [all...] |