Home
last modified time | relevance | path

Searched refs:insn (Results 1 – 25 of 605) sorted by relevance

12345678910>>...25

/linux-6.15/arch/x86/lib/
H A Dinsn.c70 memset(insn, 0, sizeof(*insn)); in insn_init()
124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() argument
273 int insn_get_opcode(struct insn *insn) in insn_get_opcode() argument
360 int insn_get_modrm(struct insn *insn) in insn_get_modrm() argument
406 int insn_rip_relative(struct insn *insn) in insn_rip_relative() argument
435 int insn_get_sib(struct insn *insn) in insn_get_sib() argument
561 static int __get_immv32(struct insn *insn) in __get_immv32() argument
582 static int __get_immv(struct insn *insn) in __get_immv() argument
643 int insn_get_immediate(struct insn *insn) in insn_get_immediate() argument
716 int insn_get_length(struct insn *insn) in insn_get_length() argument
[all …]
H A Dinsn-eval.c38 static bool is_string_insn(struct insn *insn) in is_string_insn() argument
62 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() argument
91 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() argument
154 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() argument
298 if (!insn) in resolve_seg_reg()
447 static int get_regno(struct insn *insn, enum reg_type type) in get_regno() argument
522 static int get_reg_offset(struct insn *insn, struct pt_regs *regs, in get_reg_offset() argument
855 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_rm_off() argument
870 int insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs) in insn_get_modrm_reg_off() argument
1021 if (insn->addr_bytes != 8 && insn->addr_bytes != 4) in get_eff_addr_modrm()
[all …]
/linux-6.15/tools/arch/x86/lib/
H A Dinsn.c70 memset(insn, 0, sizeof(*insn)); in insn_init()
124 int insn_get_prefixes(struct insn *insn) in insn_get_prefixes() argument
273 int insn_get_opcode(struct insn *insn) in insn_get_opcode() argument
360 int insn_get_modrm(struct insn *insn) in insn_get_modrm() argument
406 int insn_rip_relative(struct insn *insn) in insn_rip_relative() argument
435 int insn_get_sib(struct insn *insn) in insn_get_sib() argument
561 static int __get_immv32(struct insn *insn) in __get_immv32() argument
582 static int __get_immv(struct insn *insn) in __get_immv() argument
643 int insn_get_immediate(struct insn *insn) in insn_get_immediate() argument
716 int insn_get_length(struct insn *insn) in insn_get_length() argument
[all …]
/linux-6.15/tools/testing/selftests/bpf/
H A Ddisasm.c143 insn->code, insn->dst_reg, in print_bpf_end_insn()
145 insn->imm, insn->dst_reg); in print_bpf_end_insn()
153 insn->code, insn->dst_reg, in print_bpf_bswap_insn()
154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn()
210 insn->code, insn->dst_reg, insn->src_reg); in print_bpf_insn()
254 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
269 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
281 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
291 insn->off, insn->imm); in print_bpf_insn()
360 insn->code, insn->off); in print_bpf_insn()
[all …]
/linux-6.15/kernel/bpf/
H A Ddisasm.c143 insn->code, insn->dst_reg, in print_bpf_end_insn()
145 insn->imm, insn->dst_reg); in print_bpf_end_insn()
153 insn->code, insn->dst_reg, in print_bpf_bswap_insn()
154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn()
210 insn->code, insn->dst_reg, insn->src_reg); in print_bpf_insn()
254 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
269 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
281 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
291 insn->off, insn->imm); in print_bpf_insn()
360 insn->code, insn->off); in print_bpf_insn()
[all …]
/linux-6.15/arch/x86/include/asm/
H A Dinsn.h140 extern int insn_get_prefixes(struct insn *insn);
141 extern int insn_get_opcode(struct insn *insn);
142 extern int insn_get_modrm(struct insn *insn);
143 extern int insn_get_sib(struct insn *insn);
145 extern int insn_get_immediate(struct insn *insn);
146 extern int insn_get_length(struct insn *insn);
167 extern int insn_rip_relative(struct insn *insn);
169 static inline int insn_is_rex2(struct insn *insn) in insn_is_rex2() argument
181 static inline int insn_is_avx(struct insn *insn) in insn_is_avx() argument
188 static inline int insn_is_evex(struct insn *insn) in insn_is_evex() argument
[all …]
/linux-6.15/tools/arch/x86/include/asm/
H A Dinsn.h140 extern int insn_get_prefixes(struct insn *insn);
141 extern int insn_get_opcode(struct insn *insn);
142 extern int insn_get_modrm(struct insn *insn);
143 extern int insn_get_sib(struct insn *insn);
145 extern int insn_get_immediate(struct insn *insn);
146 extern int insn_get_length(struct insn *insn);
167 extern int insn_rip_relative(struct insn *insn);
169 static inline int insn_is_rex2(struct insn *insn) in insn_is_rex2() argument
181 static inline int insn_is_avx(struct insn *insn) in insn_is_avx() argument
188 static inline int insn_is_evex(struct insn *insn) in insn_is_evex() argument
[all …]
/linux-6.15/arch/arm64/lib/
H A Dinsn.c265 u32 insn; in aarch64_insn_gen_branch_imm() local
298 u32 insn; in aarch64_insn_gen_comp_branch_imm() local
337 u32 insn; in aarch64_insn_gen_cond_branch_imm() local
357 u32 insn; in aarch64_insn_gen_branch_reg() local
383 u32 insn; in aarch64_insn_gen_load_store_reg() local
400 insn = aarch64_insn_encode_ldst_size(size, insn); in aarch64_insn_gen_load_store_reg()
417 u32 insn; in aarch64_insn_gen_load_store_imm() local
448 insn = aarch64_insn_encode_ldst_size(size, insn); in aarch64_insn_gen_load_store_imm()
462 u32 insn; in aarch64_insn_gen_load_literal() local
487 u32 insn; in aarch64_insn_gen_load_store_pair() local
[all …]
/linux-6.15/arch/riscv/kernel/
H A Dtraps_misaligned.c133 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument
154 #define IMM_I(insn) ((s32)(insn) >> 20) argument
159 #define GET_PRECISION(insn) (((insn) >> 25) & 3) argument
160 #define GET_RM(insn) (((insn) >> 12) & 7) argument
166 #define FP_GET_RD(insn) (insn >> 7 & 0x1F) argument
411 insn = RVC_RS2S(insn) << SH_RD; in handle_scalar_misaligned_load()
420 insn = RVC_RS2S(insn) << SH_RD; in handle_scalar_misaligned_load()
428 insn = RVC_RS2S(insn) << SH_RD; in handle_scalar_misaligned_load()
436 insn = RVC_RS2S(insn) << SH_RD; in handle_scalar_misaligned_load()
443 insn = RVC_RS2S(insn) << SH_RD; in handle_scalar_misaligned_load()
[all …]
/linux-6.15/arch/s390/tools/
H A Dgen_opcode_table.c44 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()
168 desc->insn = realloc(desc->insn, desc->nr * sizeof(*desc->insn)); in read_instructions()
171 desc->insn[desc->nr - 1] = insn; in read_instructions()
217 struct insn *insn; in print_long_insn() local
224 insn = &desc->insn[i]; in print_long_insn()
234 insn = &desc->insn[i]; in print_long_insn()
289 struct insn *insn; in print_opcode_table() local
296 insn = &desc->insn[i]; in print_opcode_table()
[all …]
/linux-6.15/tools/objtool/
H A Dcheck.c54 return find_insn(file, insn->sec, insn->offset + insn->len); in next_insn_same_sec()
88 return find_insn(file, insn->sec, insn->offset - insn->prev_len); in prev_insn_same_sec()
128 for (; insn; insn = next_insn_same_sec(file, insn))
131 for (insn = next_insn_same_sec(file, insn); insn; \
278 if (!insn || !insn_func(insn)) in __dead_end_function()
667 insn->sec, insn->offset)) in create_static_call_sections()
1266 insn->offset, insn->len); in insn_reloc()
1315 insn->offset, insn->len, in annotate_call_site()
1344 insn->offset, insn->len, in annotate_call_site()
4111 insn = insn->jump_dest; in ignore_unreachable_insn()
[all …]
/linux-6.15/arch/arm/probes/kprobes/
H A Dactions-thumb.c29 int rm = insn & 0xf; in t32_simulate_table_branch()
150 insn = __mem_to_opcode_arm(asi->insn[0]); in t32_decode_ldmstm()
151 ((u16 *)asi->insn)[0] = __opcode_to_mem_thumb16(insn >> 16); in t32_decode_ldmstm()
152 ((u16 *)asi->insn)[1] = __opcode_to_mem_thumb16(insn & 0xffff); in t32_decode_ldmstm()
190 int rm = insn & 0xf; in t32_emulate_ldrstr()
369 probes_opcode_t nonzero = regs->uregs[rn] ? insn : ~insn; in t16_simulate_cbz()
487 int rdn = (insn & 0x7) | ((insn & 0x80) >> 4); in t16_emulate_hiregs()
517 insn &= ~0x00ff; in t16_decode_hiregs()
519 ((u16 *)asi->insn)[0] = __opcode_to_mem_thumb16(insn); in t16_decode_hiregs()
555 ((u16 *)asi->insn)[1] = __opcode_to_mem_thumb16(insn & 0x1ff); in t16_decode_push()
[all …]
/linux-6.15/arch/mips/kernel/
H A Dbranch.c62 union mips_instruction insn = (union mips_instruction)dec_insn.insn; in __mm_isBranchInstr() local
287 mminsn.insn = word; in __microMIPS_compute_return_epc()
630 ((!insn.i_format.rs && insn.i_format.rt) || in __compute_return_epc_for_insn()
631 (insn.i_format.rs == insn.i_format.rt))) in __compute_return_epc_for_insn()
666 ((!insn.i_format.rs && insn.i_format.rt) || in __compute_return_epc_for_insn()
667 (insn.i_format.rs == insn.i_format.rt))) in __compute_return_epc_for_insn()
695 reg = insn.i_format.rt; in __compute_return_epc_for_insn()
752 if ((regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
768 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
823 if (insn.i_format.rt && !insn.i_format.rs) in __compute_return_epc_for_insn()
[all …]
/linux-6.15/arch/riscv/kvm/
H A Dvcpu_insn.c110 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument
112 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument
126 #define GET_FUNCT3(insn) (((insn) >> 12) & 7) argument
135 #define IMM_I(insn) ((s32)(insn) >> 20) argument
262 insn = vcpu->arch.csr_decode.insn; in kvm_riscv_vcpu_csr_return()
313 vcpu->arch.csr_decode.insn = insn; in csr_insn()
541 insn = RVC_RS2S(insn) << SH_RD; in kvm_riscv_vcpu_mmio_load()
550 insn = RVC_RS2S(insn) << SH_RD; in kvm_riscv_vcpu_mmio_load()
564 vcpu->arch.mmio_decode.insn = insn; in kvm_riscv_vcpu_mmio_load()
679 vcpu->arch.mmio_decode.insn = insn; in kvm_riscv_vcpu_mmio_store()
[all …]
/linux-6.15/arch/arm64/kernel/probes/
H A Ddecode-insn.c28 if (aarch64_insn_is_branch(insn) || in aarch64_insn_is_steppable()
32 aarch64_insn_is_eret(insn) || in aarch64_insn_is_steppable()
41 if (aarch64_insn_is_mrs(insn)) in aarch64_insn_is_steppable()
51 if (aarch64_insn_is_hint(insn)) in aarch64_insn_is_steppable()
67 aarch64_insn_is_mops(insn)) in aarch64_insn_is_steppable()
85 if (aarch64_insn_is_nop(insn)) { in arm_probe_decode_insn()
100 aarch64_insn_is_cbnz(insn)) { in arm_probe_decode_insn()
108 aarch64_insn_is_bl(insn)) { in arm_probe_decode_insn()
111 aarch64_insn_is_blr(insn) || in arm_probe_decode_insn()
112 aarch64_insn_is_ret(insn)) { in arm_probe_decode_insn()
[all …]
/linux-6.15/arch/csky/kernel/probes/
H A Ddecode-insn.c21 CSKY_INSN_SET_SIMULATE(br16, insn); in csky_probe_decode_insn()
22 CSKY_INSN_SET_SIMULATE(bt16, insn); in csky_probe_decode_insn()
23 CSKY_INSN_SET_SIMULATE(bf16, insn); in csky_probe_decode_insn()
24 CSKY_INSN_SET_SIMULATE(jmp16, insn); in csky_probe_decode_insn()
25 CSKY_INSN_SET_SIMULATE(jsr16, insn); in csky_probe_decode_insn()
26 CSKY_INSN_SET_SIMULATE(lrw16, insn); in csky_probe_decode_insn()
27 CSKY_INSN_SET_SIMULATE(pop16, insn); in csky_probe_decode_insn()
29 CSKY_INSN_SET_SIMULATE(br32, insn); in csky_probe_decode_insn()
30 CSKY_INSN_SET_SIMULATE(bt32, insn); in csky_probe_decode_insn()
31 CSKY_INSN_SET_SIMULATE(bf32, insn); in csky_probe_decode_insn()
[all …]
/linux-6.15/arch/sparc/kernel/
H A Dunaligned_32.c41 if(((insn>>19)&0x3f) == 15) in decode_direction()
51 insn = (insn >> 19) & 3; in decode_access_size()
53 if(!insn) in decode_access_size()
55 else if(insn == 3) in decode_access_size()
57 else if(insn == 2) in decode_access_size()
69 return (insn & 0x400000); in decode_signedness()
137 unsigned int insn) in compute_effective_address() argument
143 if(insn & 0x2000) { in compute_effective_address()
153 unsigned int insn) in safe_compute_effective_address() argument
159 if(insn & 0x2000) { in safe_compute_effective_address()
[all …]
/linux-6.15/arch/loongarch/kernel/
H A Dinst.c164 if (is_pc_ins(&insn)) in insns_need_simulation()
175 if (is_pc_ins(&insn)) in arch_simulate_insn()
176 simu_pc(regs, insn); in arch_simulate_insn()
238 return insn.word; in larch_insn_gen_b()
253 return insn.word; in larch_insn_gen_bl()
267 return insn.word; in larch_insn_gen_break()
276 return insn.word; in larch_insn_gen_or()
295 return insn.word; in larch_insn_gen_lu12iw()
309 return insn.word; in larch_insn_gen_lu32id()
323 return insn.word; in larch_insn_gen_lu52id()
[all …]
/linux-6.15/arch/arm64/kernel/
H A Darmv8_deprecated.c48 u32 insn);
351 char *insn; in compat_setend_handler() local
356 insn = "setend be"; in compat_setend_handler()
359 insn = "setend le"; in compat_setend_handler()
422 if (insn->set_hw_mode) in enable_insn_hw_mode()
429 if (insn->set_hw_mode) in disable_insn_hw_mode()
436 if (!insn->set_hw_mode) in run_all_cpu_set_hw_mode()
468 if (insn->set_hw_mode && insn->set_hw_mode(enable)) { in run_all_insn_set_hw_mode()
470 cpu, insn->name); in run_all_insn_set_hw_mode()
539 insn->min = INSN_UNDEF; in register_insn_emulation()
[all …]
/linux-6.15/arch/arm64/include/asm/
H A Dasm-extable.h35 .long ((insn) - .); \
45 __ASM_EXTABLE_RAW(insn, fixup, \
55 #define _ASM_EXTABLE_UACCESS(insn, fixup) \
63 _ASM_EXTABLE_UACCESS(\insn, \fixup)
70 .macro _cond_uaccess_extable, insn, fixup
72 _asm_extable_uaccess \insn, \fixup
87 ".long ((" insn ") - .)\n" \
98 __ASM_EXTABLE_RAW(#insn, #fixup, \
107 __ASM_EXTABLE_RAW(#insn, #fixup, \
117 #define _ASM_EXTABLE_UACCESS(insn, fixup) \ argument
[all …]
H A Dinsn.h444 if (!aarch64_insn_is_hint(insn)) in aarch64_insn_is_steppable_hint()
447 switch (insn & 0xFE0) { in aarch64_insn_is_steppable_hint()
470 return aarch64_insn_is_b(insn) || in aarch64_insn_is_branch()
471 aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch()
478 aarch64_insn_is_br(insn) || in aarch64_insn_is_branch()
487 return aarch64_insn_is_b(insn) || in aarch64_insn_is_branch_imm()
488 aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch_imm()
499 aarch64_insn_is_adrp(insn); in aarch64_insn_is_adr_adrp()
513 aarch64_insn_is_sb(insn) || in aarch64_insn_is_barrier()
560 u32 insn, u64 imm);
[all …]
/linux-6.15/drivers/comedi/kcomedilib/
H A Dkcomedilib_main.c109 switch (insn->insn) { in comedi_do_insn()
136 memset(&insn, 0, sizeof(insn)); in comedi_dio_get_config()
137 insn.insn = INSN_CONFIG; in comedi_dio_get_config()
138 insn.n = 2; in comedi_dio_get_config()
155 memset(&insn, 0, sizeof(insn)); in comedi_dio_config()
156 insn.insn = INSN_CONFIG; in comedi_dio_config()
157 insn.n = 1; in comedi_dio_config()
180 memset(&insn, 0, sizeof(insn)); in comedi_dio_bitfield2()
181 insn.insn = INSN_BITS; in comedi_dio_bitfield2()
183 insn.n = 2; in comedi_dio_bitfield2()
[all …]
/linux-6.15/arch/s390/lib/
H A Dprobes.c16 switch (insn[0] >> 8) { in probe_is_prohibited_opcode()
25 switch (insn[0] & 0x0f) { in probe_is_prohibited_opcode()
30 switch (insn[0]) { in probe_is_prohibited_opcode()
51 switch (insn[0] >> 8) { in probe_get_fixup_type()
56 if ((insn[0] & 0x0f) == 0) in probe_get_fixup_type()
77 if ((insn[0] & 0xff) == 0xb2) in probe_get_fixup_type()
89 switch (insn[2] & 0xff) { in probe_get_fixup_type()
101 switch (insn[2] & 0xff) { in probe_get_fixup_type()
122 switch (insn[0] >> 8) { in probe_is_insn_relative_long()
128 switch (insn[0] & 0x0f) { in probe_is_insn_relative_long()
[all …]
/linux-6.15/arch/x86/kernel/kprobes/
H A Dcore.c115 } __packed *insn; in __synthesize_relative_insn() local
119 insn->op = op; in __synthesize_relative_insn()
140 bool can_boost(struct insn *insn, void *addr) in can_boost() argument
267 static inline bool is_exception_insn(struct insn *insn) in is_exception_insn() argument
291 struct insn insn; in can_probe() local
395 int __copy_instruction(u8 *dest, u8 *src, u8 *real, struct insn *insn) in __copy_instruction() argument
457 struct insn *insn) in prepare_singlestep() argument
630 static int prepare_emulation(struct kprobe *p, struct insn *insn) in prepare_emulation() argument
749 struct insn insn; in arch_copy_kprobe() local
754 len = __copy_instruction(buf, p->addr, p->ainsn.insn, &insn); in arch_copy_kprobe()
[all …]
/linux-6.15/tools/objtool/arch/loongarch/
H A Ddecode.c17 return insn->offset + (insn->immediate << 2); in arch_jump_destination()
76 struct instruction *insn) in decode_insn_reg0i26_fomat() argument
85 insn->type = INSN_CALL; in decode_insn_reg0i26_fomat()
134 struct symbol *func = find_func_containing(insn->sec, insn->offset); in decode_insn_reg2i12_fomat()
173 insn->type = INSN_NOP; in decode_insn_reg2i12_fomat()
235 insn->type = INSN_RETURN; in decode_insn_reg2i16_fomat()
297 insn->type = INSN_OTHER; in arch_decode_instruction()
298 insn->immediate = 0; in arch_decode_instruction()
314 insn->type = INSN_NOP; in arch_decode_instruction()
317 insn->type = INSN_BUG; in arch_decode_instruction()
[all …]

12345678910>>...25