Home
last modified time | relevance | path

Searched refs:instr (Results 1 – 25 of 185) sorted by relevance

12345678

/Linux-v5.4/arch/powerpc/lib/
Dcode-patching.c21 static int __patch_instruction(unsigned int *exec_addr, unsigned int instr, in __patch_instruction() argument
26 __put_user_asm(instr, patch_addr, err, "stw"); in __patch_instruction()
36 int raw_patch_instruction(unsigned int *addr, unsigned int instr) in raw_patch_instruction() argument
38 return __patch_instruction(addr, instr, addr); in raw_patch_instruction()
139 static int do_patch_instruction(unsigned int *addr, unsigned int instr) in do_patch_instruction() argument
153 return raw_patch_instruction(addr, instr); in do_patch_instruction()
166 __patch_instruction(addr, instr, patch_addr); in do_patch_instruction()
179 static int do_patch_instruction(unsigned int *addr, unsigned int instr) in do_patch_instruction() argument
181 return raw_patch_instruction(addr, instr); in do_patch_instruction()
186 int patch_instruction(unsigned int *addr, unsigned int instr) in patch_instruction() argument
[all …]
Dtest_emulate_step.c463 unsigned int instr; member
474 .instr = PPC_INST_NOP,
486 .instr = TEST_ADD(20, 21, 22),
494 .instr = TEST_ADD(20, 21, 22),
502 .instr = TEST_ADD(20, 21, 22),
510 .instr = TEST_ADD(20, 21, 22),
518 .instr = TEST_ADD(20, 21, 22),
526 .instr = TEST_ADD(20, 21, 22),
534 .instr = TEST_ADD(20, 21, 22),
542 .instr = TEST_ADD(20, 21, 22),
[all …]
Dsstep.c82 static nokprobe_inline int branch_taken(unsigned int instr, in branch_taken() argument
86 unsigned int bo = (instr >> 21) & 0x1f; in branch_taken()
97 bi = (instr >> 16) & 0x1f; in branch_taken()
122 static nokprobe_inline unsigned long dform_ea(unsigned int instr, in dform_ea() argument
128 ra = (instr >> 16) & 0x1f; in dform_ea()
129 ea = (signed short) instr; /* sign-extend */ in dform_ea()
140 static nokprobe_inline unsigned long dsform_ea(unsigned int instr, in dsform_ea() argument
146 ra = (instr >> 16) & 0x1f; in dsform_ea()
147 ea = (signed short) (instr & ~3); /* sign-extend */ in dsform_ea()
157 static nokprobe_inline unsigned long dqform_ea(unsigned int instr, in dqform_ea() argument
[all …]
/Linux-v5.4/arch/powerpc/include/asm/
Dprobes.h16 #define IS_TW(instr) (((instr) & 0xfc0007fe) == 0x7c000008) argument
17 #define IS_TD(instr) (((instr) & 0xfc0007fe) == 0x7c000088) argument
18 #define IS_TDI(instr) (((instr) & 0xfc000000) == 0x08000000) argument
19 #define IS_TWI(instr) (((instr) & 0xfc000000) == 0x0c000000) argument
22 #define is_trap(instr) (IS_TW(instr) || IS_TD(instr) || \ argument
23 IS_TWI(instr) || IS_TDI(instr))
25 #define is_trap(instr) (IS_TW(instr) || IS_TWI(instr)) argument
Ddisassemble.h90 static inline unsigned make_dsisr(unsigned instr) in make_dsisr() argument
96 dsisr = (instr & 0x03ff0000) >> 16; in make_dsisr()
98 if (IS_XFORM(instr)) { in make_dsisr()
100 dsisr |= (instr & 0x00000006) << 14; in make_dsisr()
102 dsisr |= (instr & 0x00000040) << 8; in make_dsisr()
104 dsisr |= (instr & 0x00000780) << 3; in make_dsisr()
107 dsisr |= (instr & 0x04000000) >> 12; in make_dsisr()
109 dsisr |= (instr & 0x78000000) >> 17; in make_dsisr()
111 if (IS_DSFORM(instr)) in make_dsisr()
112 dsisr |= (instr & 0x00000003) << 18; in make_dsisr()
Dcode-patching.h30 int patch_instruction(unsigned int *addr, unsigned int instr);
31 int raw_patch_instruction(unsigned int *addr, unsigned int instr);
38 static inline int patch_instruction_site(s32 *site, unsigned int instr) in patch_instruction_site() argument
40 return patch_instruction((unsigned int *)patch_site_addr(site), instr); in patch_instruction_site()
59 int instr_is_relative_branch(unsigned int instr);
60 int instr_is_relative_link_branch(unsigned int instr);
61 int instr_is_branch_to_addr(const unsigned int *instr, unsigned long addr);
62 unsigned long branch_target(const unsigned int *instr);
65 extern bool is_conditional_branch(unsigned int instr);
Dsstep.h18 #define IS_MTMSRD(instr) (((instr) & 0xfc0007be) == 0x7c000124) argument
19 #define IS_RFID(instr) (((instr) & 0xfc0007fe) == 0x4c000024) argument
20 #define IS_RFI(instr) (((instr) & 0xfc0007fe) == 0x4c000064) argument
135 unsigned int instr);
152 extern int emulate_step(struct pt_regs *regs, unsigned int instr);
/Linux-v5.4/arch/unicore32/mm/
Dalignment.c198 do_alignment_finish_ldst(unsigned long addr, unsigned long instr, in do_alignment_finish_ldst() argument
201 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst()
204 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst()
207 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst()
208 regs->uregs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst()
212 do_alignment_ldrhstrh(unsigned long addr, unsigned long instr, in do_alignment_ldrhstrh() argument
215 unsigned int rd = RD_BITS(instr); in do_alignment_ldrhstrh()
218 if ((instr & 0x4b003fe0) == 0x40000120) in do_alignment_ldrhstrh()
221 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh()
226 if (instr & 0x80) in do_alignment_ldrhstrh()
[all …]
/Linux-v5.4/arch/arm/mm/
Dalignment.c327 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, union offset_union of… in do_alignment_finish_ldst() argument
329 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst()
332 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst()
335 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst()
336 regs->uregs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst()
340 do_alignment_ldrhstrh(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrhstrh() argument
342 unsigned int rd = RD_BITS(instr); in do_alignment_ldrhstrh()
349 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh()
354 if (instr & 0x40) in do_alignment_ldrhstrh()
364 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh()
[all …]
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/
Dnfp_asm.c30 u16 br_get_offset(u64 instr) in br_get_offset() argument
34 addr_lo = FIELD_GET(OP_BR_ADDR_LO, instr); in br_get_offset()
35 addr_hi = FIELD_GET(OP_BR_ADDR_HI, instr); in br_get_offset()
41 void br_set_offset(u64 *instr, u16 offset) in br_set_offset() argument
47 *instr &= ~(OP_BR_ADDR_HI | OP_BR_ADDR_LO); in br_set_offset()
48 *instr |= FIELD_PREP(OP_BR_ADDR_HI, addr_hi); in br_set_offset()
49 *instr |= FIELD_PREP(OP_BR_ADDR_LO, addr_lo); in br_set_offset()
52 void br_add_offset(u64 *instr, u16 offset) in br_add_offset() argument
56 addr = br_get_offset(*instr); in br_add_offset()
57 br_set_offset(instr, addr + offset); in br_add_offset()
[all …]
/Linux-v5.4/arch/alpha/lib/
Dstacktrace.c4 typedef unsigned int instr; typedef
34 (((instr)(INSTR) >= BR_OP) | ((instr)(INSTR) < LDA_OP) | \
35 ((((instr)(INSTR) ^ 0x60000000) < 0x20000000) & \
36 (((instr)(INSTR) & 0x0c000000) != 0)))
48 static instr *
49 display_stored_regs(instr * pro_pc, unsigned char * sp) in display_stored_regs()
51 instr * ret_pc = 0; in display_stored_regs()
61 ret_pc = (instr *)value; in display_stored_regs()
67 static instr *
68 seek_prologue(instr * pc) in seek_prologue()
[all …]
/Linux-v5.4/samples/seccomp/
Dbpf-helper.c32 struct sock_filter *instr = &filter[offset]; in bpf_resolve_jumps() local
33 if (instr->code != (BPF_JMP+BPF_JA)) in bpf_resolve_jumps()
35 switch ((instr->jt<<8)|instr->jf) { in bpf_resolve_jumps()
37 if (labels->labels[instr->k].location == 0xffffffff) { in bpf_resolve_jumps()
39 labels->labels[instr->k].label); in bpf_resolve_jumps()
42 instr->k = labels->labels[instr->k].location - in bpf_resolve_jumps()
44 instr->jt = 0; in bpf_resolve_jumps()
45 instr->jf = 0; in bpf_resolve_jumps()
48 if (labels->labels[instr->k].location != 0xffffffff) { in bpf_resolve_jumps()
50 labels->labels[instr->k].label); in bpf_resolve_jumps()
[all …]
/Linux-v5.4/arch/arm/include/asm/
Ddomain.h133 #define TUSER(instr) TUSERCOND(instr, ) argument
134 #define TUSERCOND(instr, cond) #instr "t" #cond argument
136 #define TUSER(instr) TUSERCOND(instr, ) argument
137 #define TUSERCOND(instr, cond) #instr #cond argument
147 #define TUSER(instr) instr ## t argument
149 #define TUSER(instr) instr argument
Dunified.h37 #define W(instr) instr.w argument
39 #define WASM(instr) #instr ".w"
50 #define W(instr) instr
52 #define WASM(instr) #instr
/Linux-v5.4/scripts/kconfig/lxdialog/
Dinputbox.c37 char *instr = dialog_input_result; in dialog_inputbox() local
41 instr[0] = '\0'; in dialog_inputbox()
43 strcpy(instr, init); in dialog_inputbox()
88 len = strlen(instr); in dialog_inputbox()
95 waddch(dialog, instr[show_x + i]); in dialog_inputbox()
99 waddstr(dialog, instr); in dialog_inputbox()
127 instr[i] = instr[i+1]; in dialog_inputbox()
133 instr[len] = '\0'; in dialog_inputbox()
136 if (!instr[show_x + i]) { in dialog_inputbox()
140 waddch(dialog, instr[show_x + i]); in dialog_inputbox()
[all …]
/Linux-v5.4/drivers/watchdog/
Dwdat_wdt.c58 const struct wdat_instruction *instr, u32 *value) in wdat_wdt_read() argument
60 const struct acpi_generic_address *gas = &instr->entry.register_region; in wdat_wdt_read()
64 *value = ioread8(instr->reg); in wdat_wdt_read()
67 *value = ioread16(instr->reg); in wdat_wdt_read()
70 *value = ioread32(instr->reg); in wdat_wdt_read()
83 const struct wdat_instruction *instr, u32 value) in wdat_wdt_write() argument
85 const struct acpi_generic_address *gas = &instr->entry.register_region; in wdat_wdt_write()
89 iowrite8((u8)value, instr->reg); in wdat_wdt_write()
92 iowrite16((u16)value, instr->reg); in wdat_wdt_write()
95 iowrite32(value, instr->reg); in wdat_wdt_write()
[all …]
/Linux-v5.4/arch/s390/kernel/
Dnospec-branch.c102 u8 *instr, *thunk, *br; in __nospec_revert() local
108 instr = (u8 *) epo + *epo; in __nospec_revert()
109 if (instr[0] == 0xc0 && (instr[1] & 0x0f) == 0x04) in __nospec_revert()
111 else if (instr[0] == 0xc0 && (instr[1] & 0x0f) == 0x05) in __nospec_revert()
115 thunk = instr + (*(int *)(instr + 2)) * 2; in __nospec_revert()
135 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert()
145 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert()
158 s390_kernel_write(instr, insnbuf, 6); in __nospec_revert()
/Linux-v5.4/arch/arm64/kernel/
Dtrace-events-emulation.h12 TP_PROTO(const char *instr, u64 addr),
13 TP_ARGS(instr, addr),
16 __string(instr, instr)
21 __assign_str(instr, instr);
25 TP_printk("instr=\"%s\" addr=0x%llx", __get_str(instr), __entry->addr)
/Linux-v5.4/lib/xz/
Dxz_dec_bcj.c163 uint32_t instr; in bcj_powerpc() local
166 instr = get_unaligned_be32(buf + i); in bcj_powerpc()
167 if ((instr & 0xFC000003) == 0x48000001) { in bcj_powerpc()
168 instr &= 0x03FFFFFC; in bcj_powerpc()
169 instr -= s->pos + (uint32_t)i; in bcj_powerpc()
170 instr &= 0x03FFFFFC; in bcj_powerpc()
171 instr |= 0x48000001; in bcj_powerpc()
172 put_unaligned_be32(instr, buf + i); in bcj_powerpc()
217 uint64_t instr; in bcj_ia64() local
230 instr = 0; in bcj_ia64()
[all …]
/Linux-v5.4/drivers/crypto/cavium/nitrox/
Dnitrox_reqmgr.c296 memcpy(ent, &sr->instr, cmdq->instr_size); in post_se_instr()
442 sr->instr.dptr0 = cpu_to_be64(sr->in.sgcomp_dma); in nitrox_process_se_request()
445 sr->instr.ih.value = 0; in nitrox_process_se_request()
446 sr->instr.ih.s.g = 1; in nitrox_process_se_request()
447 sr->instr.ih.s.gsz = sr->in.sgmap_cnt; in nitrox_process_se_request()
448 sr->instr.ih.s.ssz = sr->out.sgmap_cnt; in nitrox_process_se_request()
449 sr->instr.ih.s.fsz = FDATA_SIZE + sizeof(struct gphdr); in nitrox_process_se_request()
450 sr->instr.ih.s.tlen = sr->instr.ih.s.fsz + sr->in.total_bytes; in nitrox_process_se_request()
451 sr->instr.ih.value = cpu_to_be64(sr->instr.ih.value); in nitrox_process_se_request()
454 sr->instr.irh.value[0] = 0; in nitrox_process_se_request()
[all …]
/Linux-v5.4/arch/powerpc/kernel/
Dalign.c107 unsigned int instr) in emulate_spe() argument
120 instr = (instr >> 1) & 0x1f; in emulate_spe()
125 nb = spe_aligninfo[instr].len; in emulate_spe()
126 flags = spe_aligninfo[instr].flags; in emulate_spe()
144 switch (instr) { in emulate_spe()
191 switch (instr) { in emulate_spe()
296 unsigned int instr; in fix_alignment() local
306 if (unlikely(__get_user(instr, (unsigned int __user *)regs->nip))) in fix_alignment()
312 instr = swab32(instr); in fix_alignment()
316 if ((instr >> 26) == 0x4) { in fix_alignment()
[all …]
/Linux-v5.4/arch/arm/kernel/
Dtraps.c420 int call_undef_hook(struct pt_regs *regs, unsigned int instr) in call_undef_hook() argument
424 int (*fn)(struct pt_regs *regs, unsigned int instr) = NULL; in call_undef_hook()
428 if ((instr & hook->instr_mask) == hook->instr_val && in call_undef_hook()
433 return fn ? fn(regs, instr) : 1; in call_undef_hook()
438 unsigned int instr; in do_undefinstr() local
446 instr = __mem_to_opcode_thumb16(((u16 *)pc)[0]); in do_undefinstr()
447 if (is_wide_instruction(instr)) { in do_undefinstr()
450 instr = __opcode_thumb32_compose(instr, inst2); in do_undefinstr()
454 instr = __mem_to_opcode_arm(*(u32 *) pc); in do_undefinstr()
456 if (get_user(instr, (u16 __user *)pc)) in do_undefinstr()
[all …]
Dswp_emulate.c159 static int swp_handler(struct pt_regs *regs, unsigned int instr) in swp_handler() argument
166 res = arm_check_condition(instr, regs->ARM_cpsr); in swp_handler()
187 address = regs->uregs[EXTRACT_REG_NUM(instr, RN_OFFSET)]; in swp_handler()
188 data = regs->uregs[EXTRACT_REG_NUM(instr, RT2_OFFSET)]; in swp_handler()
189 destreg = EXTRACT_REG_NUM(instr, RT_OFFSET); in swp_handler()
191 type = instr & TYPE_SWPB; in swp_handler()
194 EXTRACT_REG_NUM(instr, RN_OFFSET), address, in swp_handler()
195 destreg, EXTRACT_REG_NUM(instr, RT2_OFFSET), data); in swp_handler()
/Linux-v5.4/drivers/mtd/nand/raw/
Dams-delta.c163 const struct nand_op_instr *instr; in ams_delta_exec_op() local
171 for (instr = op->instrs; instr < op->instrs + op->ninstrs; instr++) { in ams_delta_exec_op()
172 switch (instr->type) { in ams_delta_exec_op()
175 ams_delta_write_buf(priv, &instr->ctx.cmd.opcode, 1); in ams_delta_exec_op()
181 ams_delta_write_buf(priv, instr->ctx.addr.addrs, in ams_delta_exec_op()
182 instr->ctx.addr.naddrs); in ams_delta_exec_op()
187 ams_delta_read_buf(priv, instr->ctx.data.buf.in, in ams_delta_exec_op()
188 instr->ctx.data.len); in ams_delta_exec_op()
192 ams_delta_write_buf(priv, instr->ctx.data.buf.out, in ams_delta_exec_op()
193 instr->ctx.data.len); in ams_delta_exec_op()
[all …]
Dvf610_nfc.c365 const struct nand_op_instr *instr; in vf610_nfc_cmd() local
377 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
378 if (!instr) in vf610_nfc_cmd()
381 if (instr && instr->type == NAND_OP_CMD_INSTR) { in vf610_nfc_cmd()
382 cmd2 |= instr->ctx.cmd.opcode << CMD_BYTE1_SHIFT; in vf610_nfc_cmd()
385 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
388 if (instr && instr->type == NAND_OP_ADDR_INSTR) { in vf610_nfc_cmd()
393 u8 val = instr->ctx.addr.addrs[i]; in vf610_nfc_cmd()
402 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
405 if (instr && instr->type == NAND_OP_DATA_OUT_INSTR) { in vf610_nfc_cmd()
[all …]

12345678