Home
last modified time | relevance | path

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

12345678910>>...31

/openbmc/linux/arch/x86/lib/
H A Dinsn.c37 #define validate_next(t, insn, n) \ argument
38 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr)
40 #define __get_next(t, insn) \ argument
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) \ argument
44 ({ t r = get_unaligned((t *)(insn)->next_byte + n); leXX_to_cpu(t, r); })
46 #define get_next(t, insn) \ argument
47 ({ if (unlikely(!validate_next(t, insn, 0))) goto err_out; __get_next(t, insn); })
49 #define peek_nbyte_next(t, insn, n) \ argument
50 ({ if (unlikely(!validate_next(t, insn, n))) goto err_out; __peek_nbyte_next(t, insn, n); })
[all …]
H A Dinsn-eval.c38 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()
62 bool insn_has_rep_prefix(struct insn *insn) in insn_has_rep_prefix() argument
67 insn_get_prefixes(insn); in insn_has_rep_prefix()
69 for_each_insn_prefix(insn, i, p) { in insn_has_rep_prefix()
91 static int get_seg_reg_override_idx(struct insn *insn) in get_seg_reg_override_idx() argument
97 insn_get_prefixes(insn); in get_seg_reg_override_idx()
100 for_each_insn_prefix(insn, i, p) { in get_seg_reg_override_idx()
154 static bool check_seg_overrides(struct insn *insn, int regoff) in check_seg_overrides() argument
[all …]
/openbmc/linux/tools/arch/x86/lib/
H A Dinsn.c37 #define validate_next(t, insn, n) \ argument
38 ((insn)->next_byte + sizeof(t) + n <= (insn)->end_kaddr)
40 #define __get_next(t, insn) \ argument
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) \ argument
44 ({ t r = get_unaligned((t *)(insn)->next_byte + n); leXX_to_cpu(t, r); })
46 #define get_next(t, insn) \ argument
47 ({ if (unlikely(!validate_next(t, insn, 0))) goto err_out; __get_next(t, insn); })
49 #define peek_nbyte_next(t, insn, n) \ argument
50 ({ if (unlikely(!validate_next(t, insn, n))) goto err_out; __peek_nbyte_next(t, insn, n); })
[all …]
/openbmc/linux/kernel/bpf/
H A Ddisasm.c17 const struct bpf_insn *insn, in __func_get_name() argument
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->src_reg == BPF_PSEUDO_KFUNC_CALL) in __func_get_name()
44 const struct bpf_insn *insn, in __func_imm_name() argument
[all …]
/openbmc/linux/tools/testing/selftests/bpf/
H A Ddisasm.c17 const struct bpf_insn *insn, in __func_get_name() argument
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->src_reg == BPF_PSEUDO_KFUNC_CALL) in __func_get_name()
44 const struct bpf_insn *insn, in __func_imm_name() argument
[all …]
/openbmc/linux/arch/arm64/lib/
H A Dinsn.c88 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() argument
118 if (insn == AARCH64_BREAK_FAULT) in aarch64_insn_encode_immediate()
140 insn &= ~(mask << shift); in aarch64_insn_encode_immediate()
141 insn |= (imm & mask) << shift; in aarch64_insn_encode_immediate()
143 return insn; in aarch64_insn_encode_immediate()
[all …]
/openbmc/linux/arch/x86/include/asm/
H A Dinsn.h68 struct insn { struct
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 *insn);
138 extern int insn_get_sib(struct insn *insn);
139 extern int insn_get_displacement(struct insn *insn);
140 extern int insn_get_immediate(struct insn *insn);
141 extern int insn_get_length(struct insn *insn);
151 extern int insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m);
[all …]
/openbmc/linux/tools/arch/x86/include/asm/
H A Dinsn.h68 struct insn { struct
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 *insn);
138 extern int insn_get_sib(struct insn *insn);
139 extern int insn_get_displacement(struct insn *insn);
140 extern int insn_get_immediate(struct insn *insn);
141 extern int insn_get_length(struct insn *insn);
151 extern int insn_decode(struct insn *insn, const void *kaddr, int buf_len, enum insn_mode m);
[all …]
/openbmc/qemu/target/xtensa/core-dsp3400/
H A Dxtensa-modules.c.inc377 Field_t_Slot_inst_get (const xtensa_insnbuf insn)
380 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
385 Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
389 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
393 Field_s_Slot_inst_get (const xtensa_insnbuf insn)
396 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
401 Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
405 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
409 Field_r_Slot_inst_get (const xtensa_insnbuf insn)
412 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
[all …]
/openbmc/linux/arch/powerpc/xmon/
H A Dspu.h80 #define SIGNED_EXTRACT(insn,size,pos) (((int)((insn) << (32-size-pos))) >> (32-size)) argument
81 #define UNSIGNED_EXTRACT(insn,size,pos) (((insn) >> pos) & ((1 << size)-1)) argument
83 #define DECODE_INSN_RT(insn) (insn & 0x7f) argument
84 #define DECODE_INSN_RA(insn) ((insn >> 7) & 0x7f) argument
85 #define DECODE_INSN_RB(insn) ((insn >> 14) & 0x7f) argument
86 #define DECODE_INSN_RC(insn) ((insn >> 21) & 0x7f) argument
88 #define DECODE_INSN_I10(insn) SIGNED_EXTRACT(insn,10,14) argument
89 #define DECODE_INSN_U10(insn) UNSIGNED_EXTRACT(insn,10,14) argument
92 #define DECODE_INSN_I16(insn) SIGNED_EXTRACT(insn,16,7) argument
93 #define DECODE_INSN_U16(insn) UNSIGNED_EXTRACT(insn,16,7) argument
[all …]
/openbmc/qemu/target/xtensa/core-test_mmuhifi_c3/
H A Dxtensa-modules.c.inc223 Field_t_Slot_inst_get (const xtensa_insnbuf insn)
226 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
231 Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
235 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
239 Field_s_Slot_inst_get (const xtensa_insnbuf insn)
242 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
247 Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
251 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
255 Field_r_Slot_inst_get (const xtensa_insnbuf insn)
258 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
[all …]
/openbmc/qemu/target/xtensa/core-test_kc705_be/
H A Dxtensa-modules.c.inc308 Field_t_Slot_inst_get (const xtensa_insnbuf insn)
311 tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
316 Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
320 insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
324 Field_s_Slot_inst_get (const xtensa_insnbuf insn)
327 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
332 Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
336 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
340 Field_r_Slot_inst_get (const xtensa_insnbuf insn)
343 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
[all …]
/openbmc/linux/tools/objtool/
H A Dcheck.c26 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() argument
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()
64 next_insn_same_func(struct objtool_file * file,struct instruction * insn) next_insn_same_func() argument
84 prev_insn_same_sec(struct objtool_file * file,struct instruction * insn) prev_insn_same_sec() argument
96 prev_insn_same_sym(struct objtool_file * file,struct instruction * insn) prev_insn_same_sym() argument
106 for_each_insn(file,insn) global() argument
112 func_for_each_insn(file,func,insn) global() argument
117 sym_for_each_insn(file,sym,insn) global() argument
122 sym_for_each_insn_continue_reverse(file,sym,insn) global() argument
127 sec_for_each_insn_from(file,insn) global() argument
130 sec_for_each_insn_continue(file,insn) global() 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
1350 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
1498 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
2065 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
3397 noinstr_call_dest(struct objtool_file * file,struct instruction * insn,struct symbol * func) noinstr_call_dest() argument
3435 validate_call(struct objtool_file * file,struct instruction * insn,struct insn_state * state) validate_call() argument
3458 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
3505 next_insn_to_validate(struct objtool_file * file,struct instruction * insn) next_insn_to_validate() argument
3544 validate_branch(struct objtool_file * file,struct symbol * func,struct instruction * insn,struct insn_state state) validate_branch() argument
3794 validate_unwind_hint(struct objtool_file * file,struct instruction * insn,struct insn_state * state) validate_unwind_hint() argument
3809 struct instruction *insn; validate_unwind_hints() local
3835 validate_unret(struct objtool_file * file,struct instruction * insn) validate_unret() argument
3945 struct instruction *insn; validate_unrets() local
3965 struct instruction *insn; validate_retpoline() local
3996 is_kasan_insn(struct instruction * insn) is_kasan_insn() argument
4002 is_ubsan_insn(struct instruction * insn) is_ubsan_insn() argument
4009 ignore_unreachable_insn(struct objtool_file * file,struct instruction * insn) ignore_unreachable_insn() argument
4121 struct instruction *insn, *prev; add_prefix_symbol() local
4190 struct instruction *insn; validate_symbol() local
4273 mark_endbr_used(struct instruction * insn) mark_endbr_used() argument
4279 noendbr_range(struct objtool_file * file,struct instruction * insn) noendbr_range() argument
4297 validate_ibt_insn(struct objtool_file * file,struct instruction * insn) validate_ibt_insn() argument
4426 struct instruction *insn; validate_ibt() local
4474 struct instruction *insn, *next_insn; validate_sls() local
4505 ignore_noreturn_call(struct instruction * insn) ignore_noreturn_call() argument
4536 struct instruction *insn, *prev_insn; validate_reachable_instructions() local
4652 struct instruction *insn; free_insns() local
[all...]
/openbmc/linux/arch/s390/tools/
H A Dgen_opcode_table.c22 struct insn { struct
44 struct insn *insn; argument
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.format); in read_instructions()
164 insn.name_len = strlen(insn.name); in read_instructions()
165 for (i = 0; i <= insn.name_len; i++) in read_instructions()
166 insn.upper[i] = toupper((unsigned char)insn.name[i]); in read_instructions()
168 desc->insn = realloc(desc->insn, desc->nr * sizeof(*desc->insn)); in read_instructions()
169 if (!desc->insn) in read_instructions()
[all …]
/openbmc/linux/arch/riscv/kernel/
H A Dtraps_misaligned.c86 #define INSN_LEN(insn) ((((insn) & 0x3) < 0x3) ? 2 : 4) argument
119 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument
120 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument
121 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument
129 #define REG_OFFSET(insn, pos) \ argument
130 (SHIFT_RIGHT((insn), (pos) - LOG_REGBYTES) & REG_MASK)
132 #define REG_PTR(insn, pos, regs) \ argument
133 (ulong *)((ulong)(regs) + REG_OFFSET(insn, pos))
135 #define GET_RS1(insn, regs) (*REG_PTR(insn, SH_RS1, regs)) argument
136 #define GET_RS2(insn, regs) (*REG_PTR(insn, SH_RS2, regs)) argument
[all …]
/openbmc/linux/arch/arm/probes/kprobes/
H A Dactions-thumb.c24 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 & 0x00002000) << 4; /* J1 */ in t32_simulate_cond_branch()
[all …]
/openbmc/linux/arch/mips/kernel/
H A Dbranch.c62 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.mm_i_format.rs] < 0) in __mm_isBranchInstr()
100 (insn.mm_i_format.simmediate << 1); in __mm_isBranchInstr()
[all …]
/openbmc/qemu/hw/mips/
H A Dbootloader.c57 static void st_nm32_p(void **ptr, uint32_t insn) in st_nm32_p() argument
61 stw_p(p, insn >> 16); in st_nm32_p()
63 stw_p(p, insn >> 0); in st_nm32_p()
88 uint32_t insn = 0; in bl_gen_r_type() local
90 insn = deposit32(insn, 26, 6, opcode); in bl_gen_r_type()
91 insn = deposit32(insn, 21, 5, rs); in bl_gen_r_type()
92 insn = deposit32(insn, 16, 5, rt); in bl_gen_r_type()
93 insn = deposit32(insn, 11, 5, rd); in bl_gen_r_type()
94 insn = deposit32(insn, 6, 5, shift); in bl_gen_r_type()
95 insn = deposit32(insn, 0, 6, funct); in bl_gen_r_type()
[all …]
/openbmc/linux/arch/riscv/kvm/
H A Dvcpu_insn.c72 #define INSN_IS_16BIT(insn) (((insn) & INSN_16BIT_MASK) != INSN_16BIT_MASK) argument
74 #define INSN_LEN(insn) (INSN_IS_16BIT(insn) ? 2 : 4) argument
105 #define RVC_RS1S(insn) (8 + RV_X(insn, SH_RD, 3)) argument
106 #define RVC_RS2S(insn) (8 + RV_X(insn, SH_RS2C, 3)) argument
107 #define RVC_RS2(insn) RV_X(insn, SH_RS2C, 5) argument
115 #define REG_OFFSET(insn, pos) \ argument
116 (SHIFT_RIGHT((insn), (pos) - LOG_REGBYTES) & REG_MASK)
118 #define REG_PTR(insn, pos, regs) \ argument
119 ((ulong *)((ulong)(regs) + REG_OFFSET(insn, pos)))
121 #define GET_FUNCT3(insn) (((insn) >> 12) & 7) argument
[all …]
/openbmc/linux/arch/arm64/kernel/probes/
H A Ddecode-insn.c18 static bool __kprobes aarch64_insn_is_steppable(u32 insn) in aarch64_insn_is_steppable() argument
27 if (aarch64_insn_is_class_branch_sys(insn)) { in aarch64_insn_is_steppable()
28 if (aarch64_insn_is_branch(insn) || in aarch64_insn_is_steppable()
29 aarch64_insn_is_msr_imm(insn) || in aarch64_insn_is_steppable()
30 aarch64_insn_is_msr_reg(insn) || in aarch64_insn_is_steppable()
31 aarch64_insn_is_exception(insn) || in aarch64_insn_is_steppable()
32 aarch64_insn_is_eret(insn) || in aarch64_insn_is_steppable()
33 aarch64_insn_is_eret_auth(insn)) in aarch64_insn_is_steppable()
41 if (aarch64_insn_is_mrs(insn)) in aarch64_insn_is_steppable()
42 return aarch64_insn_extract_system_reg(insn) in aarch64_insn_is_steppable()
[all …]
/openbmc/qemu/target/hexagon/
H A Ddecode.c53 insn->regno[OPNUM] = DECODE_REGISTER_##NAME[insn->regno[OPNUM]];
69 Insn *insn = ctx->insn; in DECODE_MAPPED() local
70 if (!insn->extension_valid || in DECODE_MAPPED()
71 insn->which_extended != immno) { in DECODE_MAPPED()
107 tmpinsn = packet->insn[i]; in decode_send_insn_to()
108 packet->insn[i] = packet->insn[i + direction]; in decode_send_insn_to()
109 packet->insn[i + direction] = tmpinsn; in decode_send_insn_to()
120 if (GET_ATTRIB(packet->insn[i].opcode, A_DOTNEWVALUE) && in decode_fill_newvalue_regno()
121 !GET_ATTRIB(packet->insn[i].opcode, A_EXTENSION)) { in decode_fill_newvalue_regno()
123 g_assert(packet->insn[i].new_read_idx != -1); in decode_fill_newvalue_regno()
[all …]
/openbmc/linux/arch/csky/kernel/probes/
H A Ddecode-insn.c19 probe_opcode_t insn = le32_to_cpu(*addr); in csky_probe_decode_insn() local
21 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()
[all …]
/openbmc/linux/arch/sparc/kernel/
H A Dunaligned_32.c34 static inline enum direction decode_direction(unsigned int insn) in decode_direction() argument
36 unsigned long tmp = (insn >> 21) & 1; in decode_direction()
41 if(((insn>>19)&0x3f) == 15) in decode_direction()
49 static inline int decode_access_size(unsigned int insn) in decode_access_size() argument
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()
60 printk("Impossible unaligned trap. insn=%08x\n", insn); in decode_access_size()
67 static inline int decode_signedness(unsigned int insn) in decode_signedness() argument
[all …]
/openbmc/linux/arch/loongarch/kernel/
H A Dinst.c13 void simu_pc(struct pt_regs *regs, union loongarch_instruction insn) in simu_pc() argument
16 unsigned int rd = insn.reg1i20_format.rd; in simu_pc()
17 unsigned int imm = insn.reg1i20_format.immediate; in simu_pc()
24 switch (insn.reg1i20_format.opcode) { in simu_pc()
46 void simu_branch(struct pt_regs *regs, union loongarch_instruction insn) in simu_branch() argument
56 imm_l = insn.reg0i26_format.immediate_l; in simu_branch()
57 imm_h = insn.reg0i26_format.immediate_h; in simu_branch()
58 switch (insn.reg0i26_format.opcode) { in simu_branch()
68 imm_l = insn.reg1i21_format.immediate_l; in simu_branch()
69 imm_h = insn.reg1i21_format.immediate_h; in simu_branch()
[all …]
/openbmc/linux/arch/arm64/kernel/
H A Darmv8_deprecated.c48 u32 insn);
233 static bool try_emulate_swp(struct pt_regs *regs, u32 insn) in try_emulate_swp() argument
239 if ((insn & 0x0fb00ff0) != 0x01000090) in try_emulate_swp()
242 return swp_handler(regs, insn) == 0; in try_emulate_swp()
316 static bool try_emulate_cp15_barrier(struct pt_regs *regs, u32 insn) in try_emulate_cp15_barrier() argument
321 if ((insn & 0x0fff0fdf) == 0x0e070f9a) in try_emulate_cp15_barrier()
322 return cp15barrier_handler(regs, insn) == 0; in try_emulate_cp15_barrier()
324 if ((insn & 0x0fff0fff) == 0x0e070f95) in try_emulate_cp15_barrier()
325 return cp15barrier_handler(regs, insn) == 0; in try_emulate_cp15_barrier()
353 char *insn; in compat_setend_handler() local
[all …]

12345678910>>...31