Home
last modified time | relevance | path

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

123456789

/kernel/linux/linux-5.10/arch/powerpc/lib/
Dcode-patching.c21 static int __patch_instruction(struct ppc_inst *exec_addr, struct ppc_inst instr, in __patch_instruction() argument
24 if (!ppc_inst_prefixed(instr)) in __patch_instruction()
25 __put_user_asm_goto(ppc_inst_val(instr), patch_addr, failed, "stw"); in __patch_instruction()
27 __put_user_asm_goto(ppc_inst_as_u64(instr), patch_addr, failed, "std"); in __patch_instruction()
38 int raw_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in raw_patch_instruction() argument
40 return __patch_instruction(addr, instr, addr); in raw_patch_instruction()
146 static int do_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in do_patch_instruction() argument
160 return raw_patch_instruction(addr, instr); in do_patch_instruction()
172 __patch_instruction(addr, instr, patch_addr); in do_patch_instruction()
185 static int do_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in do_patch_instruction() argument
[all …]
Dtest_emulate_step.c639 struct ppc_inst instr; member
655 .instr = ppc_inst(PPC_INST_NOP),
667 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
675 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
683 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
691 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
699 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
707 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
715 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
723 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)),
[all …]
/kernel/linux/linux-5.10/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.h27 int create_branch(struct ppc_inst *instr, const struct ppc_inst *addr,
29 int create_cond_branch(struct ppc_inst *instr, const struct ppc_inst *addr,
32 int patch_instruction(struct ppc_inst *addr, struct ppc_inst instr);
33 int raw_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr);
40 static inline int patch_instruction_site(s32 *site, struct ppc_inst instr) in patch_instruction_site() argument
42 return patch_instruction((struct ppc_inst *)patch_site_addr(site), instr); in patch_instruction_site()
61 int instr_is_relative_branch(struct ppc_inst instr);
62 int instr_is_relative_link_branch(struct ppc_inst instr);
63 int instr_is_branch_to_addr(const struct ppc_inst *instr, unsigned long addr);
64 unsigned long branch_target(const struct ppc_inst *instr);
[all …]
Dsstep.h19 #define IS_MTMSRD(instr) ((ppc_inst_val(instr) & 0xfc0007be) == 0x7c000124) argument
20 #define IS_RFID(instr) ((ppc_inst_val(instr) & 0xfc0007fe) == 0x4c000024) argument
21 #define IS_RFI(instr) ((ppc_inst_val(instr) & 0xfc0007fe) == 0x4c000064) argument
149 struct ppc_inst instr);
166 extern int emulate_step(struct pt_regs *regs, struct ppc_inst instr);
/kernel/linux/linux-5.10/arch/arm/mm/
Dalignment.c319 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, union offset_union of… in do_alignment_finish_ldst() argument
321 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst()
324 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst()
327 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst()
328 regs->uregs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst()
332 do_alignment_ldrhstrh(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrhstrh() argument
334 unsigned int rd = RD_BITS(instr); in do_alignment_ldrhstrh()
341 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh()
346 if (instr & 0x40) in do_alignment_ldrhstrh()
356 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh()
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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
39 #define WASM(instr) #instr ".w" argument
50 #define W(instr) instr
52 #define WASM(instr) #instr
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/drivers/watchdog/
Dwdat_wdt.c65 const struct wdat_instruction *instr, u32 *value) in wdat_wdt_read() argument
67 const struct acpi_generic_address *gas = &instr->entry.register_region; in wdat_wdt_read()
71 *value = ioread8(instr->reg); in wdat_wdt_read()
74 *value = ioread16(instr->reg); in wdat_wdt_read()
77 *value = ioread32(instr->reg); in wdat_wdt_read()
90 const struct wdat_instruction *instr, u32 value) in wdat_wdt_write() argument
92 const struct acpi_generic_address *gas = &instr->entry.register_region; in wdat_wdt_write()
96 iowrite8((u8)value, instr->reg); in wdat_wdt_write()
99 iowrite16((u16)value, instr->reg); in wdat_wdt_write()
102 iowrite32(value, instr->reg); in wdat_wdt_write()
[all …]
/kernel/linux/linux-5.10/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()
/kernel/linux/linux-5.10/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)
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/drivers/mtd/nand/raw/
Dau1550nd.c153 const struct nand_op_instr *instr) in au1550nd_exec_instr() argument
159 switch (instr->type) { in au1550nd_exec_instr()
161 writeb(instr->ctx.cmd.opcode, in au1550nd_exec_instr()
168 for (i = 0; i < instr->ctx.addr.naddrs; i++) { in au1550nd_exec_instr()
169 writeb(instr->ctx.addr.addrs[i], in au1550nd_exec_instr()
178 !instr->ctx.data.force_8bit) in au1550nd_exec_instr()
179 au_read_buf16(this, instr->ctx.data.buf.in, in au1550nd_exec_instr()
180 instr->ctx.data.len); in au1550nd_exec_instr()
182 au_read_buf(this, instr->ctx.data.buf.in, in au1550nd_exec_instr()
183 instr->ctx.data.len); in au1550nd_exec_instr()
[all …]
Dgpio.c76 const struct nand_op_instr *instr) in gpio_nand_exec_instr() argument
81 switch (instr->type) { in gpio_nand_exec_instr()
86 writeb(instr->ctx.cmd.opcode, gpiomtd->io); in gpio_nand_exec_instr()
95 for (i = 0; i < instr->ctx.addr.naddrs; i++) in gpio_nand_exec_instr()
96 writeb(instr->ctx.addr.addrs[i], gpiomtd->io); in gpio_nand_exec_instr()
104 !instr->ctx.data.force_8bit) in gpio_nand_exec_instr()
105 ioread16_rep(gpiomtd->io, instr->ctx.data.buf.in, in gpio_nand_exec_instr()
106 instr->ctx.data.len / 2); in gpio_nand_exec_instr()
108 ioread8_rep(gpiomtd->io, instr->ctx.data.buf.in, in gpio_nand_exec_instr()
109 instr->ctx.data.len); in gpio_nand_exec_instr()
[all …]
Dvf610_nfc.c360 const struct nand_op_instr *instr; in vf610_nfc_cmd() local
372 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
373 if (!instr) in vf610_nfc_cmd()
376 if (instr && instr->type == NAND_OP_CMD_INSTR) { in vf610_nfc_cmd()
377 cmd2 |= instr->ctx.cmd.opcode << CMD_BYTE1_SHIFT; in vf610_nfc_cmd()
380 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
383 if (instr && instr->type == NAND_OP_ADDR_INSTR) { in vf610_nfc_cmd()
388 u8 val = instr->ctx.addr.addrs[i]; in vf610_nfc_cmd()
397 instr = vf610_get_next_instr(subop, &op_id); in vf610_nfc_cmd()
400 if (instr && instr->type == NAND_OP_DATA_OUT_INSTR) { in vf610_nfc_cmd()
[all …]
/kernel/linux/linux-5.10/arch/powerpc/kernel/
Dalign.c119 unsigned int nb, flags, instr; in emulate_spe() local
121 instr = ppc_inst_val(ppc_instr); in emulate_spe()
122 instr = (instr >> 1) & 0x1f; in emulate_spe()
127 nb = spe_aligninfo[instr].len; in emulate_spe()
128 flags = spe_aligninfo[instr].flags; in emulate_spe()
146 switch (instr) { in emulate_spe()
193 switch (instr) { in emulate_spe()
298 struct ppc_inst instr; in fix_alignment() local
308 if (unlikely(__get_user_instr(instr, (void __user *)regs->nip))) in fix_alignment()
314 instr = ppc_inst_swab(instr); in fix_alignment()
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/arch/arm/kernel/
Dtraps.c430 int call_undef_hook(struct pt_regs *regs, unsigned int instr) in call_undef_hook() argument
434 int (*fn)(struct pt_regs *regs, unsigned int instr) = NULL; in call_undef_hook()
438 if ((instr & hook->instr_mask) == hook->instr_val && in call_undef_hook()
443 return fn ? fn(regs, instr) : 1; in call_undef_hook()
448 unsigned int instr; in do_undefinstr() local
456 instr = __mem_to_opcode_thumb16(((u16 *)pc)[0]); in do_undefinstr()
457 if (is_wide_instruction(instr)) { in do_undefinstr()
460 instr = __opcode_thumb32_compose(instr, inst2); in do_undefinstr()
464 instr = __mem_to_opcode_arm(*(u32 *) pc); in do_undefinstr()
466 if (get_user(instr, (u16 __user *)pc)) in do_undefinstr()
[all …]
Dswp_emulate.c157 static int swp_handler(struct pt_regs *regs, unsigned int instr) in swp_handler() argument
164 res = arm_check_condition(instr, regs->ARM_cpsr); in swp_handler()
185 address = regs->uregs[EXTRACT_REG_NUM(instr, RN_OFFSET)]; in swp_handler()
186 data = regs->uregs[EXTRACT_REG_NUM(instr, RT2_OFFSET)]; in swp_handler()
187 destreg = EXTRACT_REG_NUM(instr, RT_OFFSET); in swp_handler()
189 type = instr & TYPE_SWPB; in swp_handler()
192 EXTRACT_REG_NUM(instr, RN_OFFSET), address, in swp_handler()
193 destreg, EXTRACT_REG_NUM(instr, RT2_OFFSET), data); in swp_handler()
/kernel/linux/linux-5.10/arch/arm/lib/
Dbitops.h6 .macro bitop, name, instr
22 \instr r2, r2, r3
31 .macro testop, name, instr, store
49 \instr r2, r2, r3 @ toggle bit
61 .macro bitop, name, instr
72 \instr r2, r2, r3
88 .macro testop, name, instr, store
99 \instr r2, r2, r0, lsl r3

123456789