Home
last modified time | relevance | path

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

123456789

/Linux-v6.6/arch/powerpc/lib/
Dtest-code-patching.c11 static int __init instr_is_branch_to_addr(const u32 *instr, unsigned long addr) in instr_is_branch_to_addr() argument
13 if (instr_is_branch_iform(ppc_inst_read(instr)) || in instr_is_branch_to_addr()
14 instr_is_branch_bform(ppc_inst_read(instr))) in instr_is_branch_to_addr()
15 return branch_target(instr) == addr; in instr_is_branch_to_addr()
33 ppc_inst_t instr; in test_branch_iform() local
73 err = create_branch(&instr, iptr, addr, BRANCH_SET_LINK); in test_branch_iform()
74 ppc_inst_write(iptr, instr); in test_branch_iform()
78 err = create_branch(&instr, iptr, addr - 0x100, BRANCH_SET_LINK); in test_branch_iform()
79 ppc_inst_write(iptr, instr); in test_branch_iform()
83 err = create_branch(&instr, iptr, addr + 0x100, 0); in test_branch_iform()
[all …]
Dcode-patching.c23 static int __patch_instruction(u32 *exec_addr, ppc_inst_t instr, u32 *patch_addr) in __patch_instruction() argument
25 if (!ppc_inst_prefixed(instr)) { in __patch_instruction()
26 u32 val = ppc_inst_val(instr); in __patch_instruction()
30 u64 val = ppc_inst_as_ulong(instr); in __patch_instruction()
44 int raw_patch_instruction(u32 *addr, ppc_inst_t instr) in raw_patch_instruction() argument
46 return __patch_instruction(addr, instr, addr); in raw_patch_instruction()
281 static int __do_patch_instruction_mm(u32 *addr, ppc_inst_t instr) in __do_patch_instruction_mm() argument
310 err = __patch_instruction(addr, instr, patch_addr); in __do_patch_instruction_mm()
331 static int __do_patch_instruction(u32 *addr, ppc_inst_t instr) in __do_patch_instruction() argument
348 err = __patch_instruction(addr, instr, patch_addr); in __do_patch_instruction()
[all …]
Dtest_emulate_step.c792 ppc_inst_t instr; in test_plxvp_pstxvp() local
826 instr = ppc_inst_prefix(PPC_RAW_PLXVP_P(34, 0, 3, 0), PPC_RAW_PLXVP_S(34, 0, 3, 0)); in test_plxvp_pstxvp()
828 stepped = emulate_step(&regs, instr); in test_plxvp_pstxvp()
854 instr = ppc_inst_prefix(PPC_RAW_PSTXVP_P(34, 0, 3, 0), PPC_RAW_PSTXVP_S(34, 0, 3, 0)); in test_plxvp_pstxvp()
856 stepped = emulate_step(&regs, instr); in test_plxvp_pstxvp()
906 ppc_inst_t instr; member
922 .instr = ppc_inst(PPC_RAW_NOP()),
935 .instr = ppc_inst(PPC_RAW_SETB(20, 1)),
942 .instr = ppc_inst(PPC_RAW_SETB(20, 4)),
949 .instr = ppc_inst(PPC_RAW_SETB(20, 5)),
[all …]
/Linux-v6.6/arch/arm64/kernel/
Dcompat_alignment.c54 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, in do_alignment_finish_ldst() argument
57 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst()
60 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst()
63 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst()
64 regs->regs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst()
68 do_alignment_ldrdstrd(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrdstrd() argument
70 unsigned int rd = RD_BITS(instr); in do_alignment_ldrdstrd()
74 if ((instr & 0xfe000000) == 0xe8000000) { in do_alignment_ldrdstrd()
76 rd2 = (instr >> 8) & 0xf; in do_alignment_ldrdstrd()
77 load = !!(LDST_L_BIT(instr)); in do_alignment_ldrdstrd()
[all …]
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-v6.6/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-v6.6/arch/powerpc/include/asm/
Dprobes.h17 #define IS_TW(instr) (((instr) & 0xfc0007fe) == 0x7c000008) argument
18 #define IS_TD(instr) (((instr) & 0xfc0007fe) == 0x7c000088) argument
19 #define IS_TDI(instr) (((instr) & 0xfc000000) == 0x08000000) argument
20 #define IS_TWI(instr) (((instr) & 0xfc000000) == 0x0c000000) argument
23 #define is_trap(instr) (IS_TW(instr) || IS_TD(instr) || \ argument
24 IS_TWI(instr) || IS_TDI(instr))
26 #define is_trap(instr) (IS_TW(instr) || IS_TWI(instr)) argument
Dcode-patching.h52 static inline int create_branch(ppc_inst_t *instr, const u32 *addr, in create_branch() argument
57 *instr = ppc_inst(0); in create_branch()
67 *instr = ppc_inst(0x48000000 | (flags & 0x3) | (offset & 0x03FFFFFC)); in create_branch()
72 int create_cond_branch(ppc_inst_t *instr, const u32 *addr,
75 int patch_instruction(u32 *addr, ppc_inst_t instr);
76 int raw_patch_instruction(u32 *addr, ppc_inst_t instr);
83 static inline int patch_instruction_site(s32 *site, ppc_inst_t instr) in patch_instruction_site() argument
85 return patch_instruction((u32 *)patch_site_addr(site), instr); in patch_instruction_site()
104 static inline unsigned int branch_opcode(ppc_inst_t instr) in branch_opcode() argument
106 return ppc_inst_primary_opcode(instr) & 0x3F; in branch_opcode()
[all …]
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()
/Linux-v6.6/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-v6.6/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-v6.6/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-v6.6/arch/arm/include/asm/
Ddomain.h120 #define TUSER(instr) TUSERCOND(instr, ) argument
121 #define TUSERCOND(instr, cond) #instr "t" #cond argument
123 #define TUSER(instr) TUSERCOND(instr, ) argument
124 #define TUSERCOND(instr, cond) #instr #cond argument
134 #define TUSER(instr) instr ## t argument
136 #define TUSER(instr) instr argument
Dunified.h33 #define W(instr) instr.w argument
35 #define WASM(instr) #instr ".w"
46 #define W(instr) instr
48 #define WASM(instr) #instr
/Linux-v6.6/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-v6.6/arch/s390/kernel/
Dnospec-branch.c103 u8 *instr, *thunk, *br; in __nospec_revert() local
110 instr = (u8 *) epo + *epo; in __nospec_revert()
111 if (instr[0] == 0xc0 && (instr[1] & 0x0f) == 0x04) in __nospec_revert()
113 else if (instr[0] == 0xc0 && (instr[1] & 0x0f) == 0x05) in __nospec_revert()
117 thunk = instr + (*(int *)(instr + 2)) * 2; in __nospec_revert()
129 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert()
134 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert()
138 s390_kernel_write(instr, insnbuf, 6); in __nospec_revert()
/Linux-v6.6/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 …]
/Linux-v6.6/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-v6.6/drivers/mtd/nand/raw/
Dau1550nd.c154 const struct nand_op_instr *instr) in au1550nd_exec_instr() argument
160 switch (instr->type) { in au1550nd_exec_instr()
162 writeb(instr->ctx.cmd.opcode, in au1550nd_exec_instr()
169 for (i = 0; i < instr->ctx.addr.naddrs; i++) { in au1550nd_exec_instr()
170 writeb(instr->ctx.addr.addrs[i], in au1550nd_exec_instr()
179 !instr->ctx.data.force_8bit) in au1550nd_exec_instr()
180 au_read_buf16(this, instr->ctx.data.buf.in, in au1550nd_exec_instr()
181 instr->ctx.data.len); in au1550nd_exec_instr()
183 au_read_buf(this, instr->ctx.data.buf.in, in au1550nd_exec_instr()
184 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 …]
/Linux-v6.6/arch/powerpc/kernel/
Dalign.c118 unsigned int nb, flags, instr; in emulate_spe() local
120 instr = ppc_inst_val(ppc_instr); in emulate_spe()
121 instr = (instr >> 1) & 0x1f; in emulate_spe()
126 nb = spe_aligninfo[instr].len; in emulate_spe()
127 flags = spe_aligninfo[instr].flags; in emulate_spe()
140 switch (instr) { in emulate_spe()
188 switch (instr) { in emulate_spe()
303 ppc_inst_t instr; in fix_alignment() local
308 r = copy_inst_from_kernel_nofault(&instr, (void *)regs->nip); in fix_alignment()
310 r = __get_user_instr(instr, (void __user *)regs->nip); in fix_alignment()
[all …]
/Linux-v6.6/drivers/crypto/cavium/nitrox/
Dnitrox_reqmgr.c299 memcpy(ent, &sr->instr, cmdq->instr_size); in post_se_instr()
447 sr->instr.dptr0 = cpu_to_be64(sr->in.sgcomp_dma); in nitrox_process_se_request()
450 sr->instr.ih.value = 0; in nitrox_process_se_request()
451 sr->instr.ih.s.g = 1; in nitrox_process_se_request()
452 sr->instr.ih.s.gsz = sr->in.sgmap_cnt; in nitrox_process_se_request()
453 sr->instr.ih.s.ssz = sr->out.sgmap_cnt; in nitrox_process_se_request()
454 sr->instr.ih.s.fsz = FDATA_SIZE + sizeof(struct gphdr); in nitrox_process_se_request()
455 sr->instr.ih.s.tlen = sr->instr.ih.s.fsz + sr->in.total_bytes; in nitrox_process_se_request()
456 sr->instr.ih.bev = cpu_to_be64(sr->instr.ih.value); in nitrox_process_se_request()
459 sr->instr.irh.value[0] = 0; in nitrox_process_se_request()
[all …]
/Linux-v6.6/arch/arm/lib/
Dbitops.h6 .macro bitop, name, instr
22 \instr r2, r2, r3
31 .macro __testop, name, instr, store, barrier
49 \instr r2, r2, r3 @ toggle bit
61 .macro testop, name, instr, store
62 __testop \name, \instr, \store, smp_dmb
65 .macro sync_testop, name, instr, store
66 __testop \name, \instr, \store, __smp_dmb
69 .macro bitop, name, instr
80 \instr r2, r2, r3
[all …]
/Linux-v6.6/arch/arm/kernel/
Dtraps.c435 int call_undef_hook(struct pt_regs *regs, unsigned int instr) in call_undef_hook() argument
439 int (*fn)(struct pt_regs *regs, unsigned int instr) = NULL; in call_undef_hook()
443 if ((instr & hook->instr_mask) == hook->instr_val && in call_undef_hook()
448 return fn ? fn(regs, instr) : 1; in call_undef_hook()
453 unsigned int instr; in do_undefinstr() local
461 instr = __mem_to_opcode_thumb16(((u16 *)pc)[0]); in do_undefinstr()
462 if (is_wide_instruction(instr)) { in do_undefinstr()
465 instr = __opcode_thumb32_compose(instr, inst2); in do_undefinstr()
469 instr = __mem_to_opcode_arm(*(u32 *) pc); in do_undefinstr()
471 if (get_user(instr, (u16 __user *)pc)) in do_undefinstr()
[all …]
/Linux-v6.6/arch/x86/
DKconfig.assembler5 def_bool $(as-instr,vpmovm2b %k1$(comma)%zmm5)
10 def_bool $(as-instr,sha1msg1 %xmm0$(comma)%xmm1)
15 def_bool $(as-instr,sha256msg1 %xmm0$(comma)%xmm1)
19 def_bool $(as-instr,tpause %ecx)
24 def_bool $(as-instr,vgf2p8mulb %xmm0$(comma)%xmm1$(comma)%xmm2)
29 def_bool $(as-instr,wrussq %rax$(comma)(%rbx))

123456789