Searched refs:dst_reg (Results 1 - 25 of 46) sorted by relevance

12

/linux-master/arch/powerpc/net/
H A Dbpf_jit_comp64.c420 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); local
447 * is that those instructions will have src_reg/dst_reg set to
452 if (dst_reg >= BPF_PPC_NVR_MIN && dst_reg < 32)
453 bpf_set_seen_register(ctx, dst_reg);
463 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, src_reg));
467 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, src_re
[all...]
H A Dbpf_jit_comp32.c295 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); local
296 u32 dst_reg_h = dst_reg - 1;
299 u32 src2_reg = dst_reg;
316 insn[i - 1].dst_reg == insn[i].dst_reg && insn[i - 1].imm != 1) {
334 * is that those instructions will have src_reg/dst_reg set to
339 if (dst_reg >= 3 && dst_reg < 32) {
340 bpf_set_seen_register(ctx, dst_reg);
[all...]
H A Dbpf_jit_comp.c259 int dst_reg)
287 fixup[0] = PPC_RAW_LI(dst_reg, 0);
289 fixup[1] = PPC_RAW_LI(dst_reg - 1, 0); /* clear higher 32-bit register too */
257 bpf_add_extable_entry(struct bpf_prog *fp, u32 *image, u32 *fimage, int pass, struct codegen_context *ctx, int insn_idx, int jmp_off, int dst_reg) argument
H A Dbpf_jit.h173 int jmp_off, int dst_reg);
/linux-master/tools/include/linux/
H A Dfilter.h32 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */
37 .dst_reg = DST, \
45 .dst_reg = DST, \
50 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */
55 .dst_reg = DST, \
63 .dst_reg = DST, \
73 .dst_reg = DST, \
78 /* Short form of mov, dst_reg = src_reg */
83 .dst_reg = DST, \
91 .dst_reg
[all...]
/linux-master/samples/bpf/
H A Dbpf_insn.h8 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */
13 .dst_reg = DST, \
21 .dst_reg = DST, \
26 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */
31 .dst_reg = DST, \
39 .dst_reg = DST, \
44 /* Short form of mov, dst_reg = src_reg */
49 .dst_reg = DST, \
57 .dst_reg = DST, \
62 /* Short form of mov, dst_reg
[all...]
/linux-master/arch/s390/net/
H A Dbpf_jit_comp.c107 static inline u32 reg(u32 dst_reg, u32 src_reg) argument
109 return reg2hex[dst_reg] << 4 | reg2hex[src_reg];
783 u32 dst_reg = insn->dst_reg; local
807 EMIT4(0xb9160000, dst_reg, src_reg);
813 EMIT4(0xb9260000, dst_reg, src_reg);
815 EMIT4(0xb9160000, dst_reg, dst_reg);
819 EMIT4(0xb9270000, dst_reg, src_reg);
821 EMIT4(0xb9160000, dst_reg, dst_re
2238 load_imm64(struct bpf_jit *jit, int dst_reg, u64 val) argument
[all...]
/linux-master/arch/x86/net/
H A Dbpf_jit_comp.c222 /* Encode 'dst_reg' register into x86-64 opcode 'byte' */
223 static u8 add_1reg(u8 byte, u32 dst_reg) argument
225 return byte + reg2hex[dst_reg];
228 /* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */
229 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) argument
231 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3);
777 u32 dst_reg, const u32 imm32)
788 b1 = add_1mod(0x48, dst_reg);
791 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32);
800 if (is_ereg(dst_reg))
776 emit_mov_imm32(u8 **pprog, bool sign_propagate, u32 dst_reg, const u32 imm32) argument
816 emit_mov_imm64(u8 **pprog, u32 dst_reg, const u32 imm32_hi, const u32 imm32_lo) argument
842 emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) argument
859 emit_movsx_reg(u8 **pprog, int num_bits, bool is64, u32 dst_reg, u32 src_reg) argument
926 maybe_emit_mod(u8 **pprog, u32 dst_reg, u32 src_reg, bool is64) argument
952 emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) argument
982 emit_ldsx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) argument
1004 emit_ldx_index(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, u32 index_reg, int off) argument
1030 emit_ldx_r12(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) argument
1036 emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) argument
1070 emit_stx_index(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, u32 index_reg, int off) argument
1096 emit_stx_r12(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) argument
1102 emit_st_index(u8 **pprog, u32 size, u32 dst_reg, u32 index_reg, int off, int imm) argument
1129 emit_st_r12(u8 **pprog, u32 size, u32 dst_reg, int off, int imm) argument
1134 emit_atomic(u8 **pprog, u8 atomic_op, u32 dst_reg, u32 src_reg, s16 off, u8 bpf_size) argument
1175 emit_atomic_index(u8 **pprog, u8 atomic_op, u32 size, u32 dst_reg, u32 src_reg, u32 index_reg, int off) argument
1303 emit_shiftx(u8 **pprog, u32 dst_reg, u8 src_reg, bool is64, u8 op) argument
1376 u32 dst_reg = insn->dst_reg; local
[all...]
/linux-master/kernel/bpf/
H A Ddisasm.c143 insn->code, insn->dst_reg,
145 insn->imm, insn->dst_reg);
153 insn->code, insn->dst_reg,
154 insn->imm, insn->dst_reg);
176 * dst_reg = src_reg + <percpu_base_off>
202 insn->dst_reg, class == BPF_ALU ? 'w' : 'r',
203 insn->dst_reg);
206 insn->code, insn->dst_reg,
210 insn->code, insn->dst_reg, insn->src_reg);
214 insn->dst_reg,
[all...]
H A Dverifier.c3228 return insn->dst_reg;
3235 int dst_reg = insn_def_regno(insn); local
3237 if (dst_reg == -1)
3240 return !is_reg64(env, insn, dst_reg, NULL, DST_OP);
3599 u32 dreg = insn->dst_reg;
3675 /* stx & st shouldn't be using _scalar_ dst_reg
4444 * dst_reg and then will be used by find_equal_scalars() to
7038 err = check_reg_arg(env, insn->dst_reg, SRC_OP);
7061 if (is_ctx_reg(env, insn->dst_reg) ||
7062 is_pkt_reg(env, insn->dst_reg) ||
12872 sanitize_ptr_alu(struct bpf_verifier_env *env, struct bpf_insn *insn, const struct bpf_reg_state *ptr_reg, const struct bpf_reg_state *off_reg, struct bpf_reg_state *dst_reg, struct bpf_sanitize_info *info, const bool commit_window) argument
12981 sanitize_err(struct bpf_verifier_env *env, const struct bpf_insn *insn, int reason, const struct bpf_reg_state *off_reg, const struct bpf_reg_state *dst_reg) argument
13054 sanitize_check_bounds(struct bpf_verifier_env *env, const struct bpf_insn *insn, const struct bpf_reg_state *dst_reg) argument
13098 struct bpf_reg_state *regs = state->regs, *dst_reg; local
13328 scalar32_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13354 scalar_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13380 scalar32_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13408 scalar_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13436 scalar32_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13468 scalar_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13500 scalar32_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13531 scalar_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13563 scalar32_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13594 scalar_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13626 scalar32_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13654 scalar_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13684 __scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) argument
13702 scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13720 __scalar64_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) argument
13750 scalar_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13765 scalar32_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13797 scalar_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13831 scalar32_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13854 scalar_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) argument
13925 adjust_scalar_min_max_vals(struct bpf_verifier_env *env, struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state src_reg) argument
14027 struct bpf_reg_state *regs = state->regs, *dst_reg, *src_reg; local
14207 struct bpf_reg_state *dst_reg = regs + insn->dst_reg; local
14362 find_good_pkt_pointers(struct bpf_verifier_state *vstate, struct bpf_reg_state *dst_reg, enum bpf_reg_type type, bool range_right_open) argument
14593 is_pkt_ptr_branch_taken(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, u8 opcode) argument
14983 try_match_pkt_pointers(const struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, struct bpf_verifier_state *this_branch, struct bpf_verifier_state *other_branch) argument
15106 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL; local
15323 struct bpf_reg_state *dst_reg; local
[all...]
H A Dcgroup.c2233 BPF_SIZE(si->code), si->dst_reg, si->src_reg,
2242 * register is used since neither src_reg nor dst_reg can be
2248 if (si->src_reg == treg || si->dst_reg == treg)
2250 if (si->src_reg == treg || si->dst_reg == treg)
2253 BPF_DW, si->dst_reg, treg,
2257 treg, si->dst_reg,
2266 BPF_DW, treg, si->dst_reg,
2271 si->dst_reg, si->src_reg,
2275 BPF_SIZE(si->code), si->dst_reg, si->dst_reg,
[all...]
H A Dcore.c59 #define DST regs[insn->dst_reg]
323 dst[i].dst_reg == 0 &&
1319 if (from->dst_reg == BPF_REG_AX || from->src_reg == BPF_REG_AX)
1325 *to++ = BPF_ALU64_REG(BPF_XOR, from->dst_reg, from->dst_reg);
1341 *to++ = BPF_ALU32_REG_OFF(from->code, from->dst_reg, BPF_REG_AX, from->off);
1355 *to++ = BPF_ALU64_REG_OFF(from->code, from->dst_reg, BPF_REG_AX, from->off);
1375 *to++ = BPF_JMP_REG(from->code, from->dst_reg, BPF_REG_AX, off);
1395 *to++ = BPF_JMP32_REG(from->code, from->dst_reg, BPF_REG_AX,
1403 *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_A
[all...]
/linux-master/tools/testing/selftests/bpf/
H A Ddisasm.c143 insn->code, insn->dst_reg,
145 insn->imm, insn->dst_reg);
153 insn->code, insn->dst_reg,
154 insn->imm, insn->dst_reg);
176 * dst_reg = src_reg + <percpu_base_off>
202 insn->dst_reg, class == BPF_ALU ? 'w' : 'r',
203 insn->dst_reg);
206 insn->code, insn->dst_reg,
210 insn->code, insn->dst_reg, insn->src_reg);
214 insn->dst_reg,
[all...]
/linux-master/net/core/
H A Dfilter.c301 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, argument
310 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg,
315 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET);
316 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX);
318 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5);
325 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg,
332 /* dst_reg = *(u16 *) (src_reg + offsetof(vlan_tci)) */
333 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg,
338 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg,
340 *insn++ = BPF_JMP_IMM(BPF_JEQ, dst_reg,
9404 bpf_convert_shinfo_access(__u8 dst_reg, __u8 skb_reg, struct bpf_insn *insn) argument
[all...]
/linux-master/drivers/net/ethernet/netronome/nfp/bpf/
H A Djit.c770 reg_a(meta->paired_st->dst_reg * 2), off, len - 1,
775 reg_a(meta->paired_st->dst_reg * 2), off, xfer_num - 1,
782 reg_a(meta->paired_st->dst_reg * 2), off,
789 reg_a(meta->paired_st->dst_reg * 2), off,
796 reg_a(meta->paired_st->dst_reg * 2), off, 7,
802 reg_a(meta->paired_st->dst_reg * 2), off, len - 33,
813 reg_a(meta->paired_st->dst_reg * 2), off,
818 xfer_num - 1, reg_a(meta->paired_st->dst_reg * 2), off,
841 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2),
846 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg *
1507 u8 dst_reg; local
[all...]
H A Dverifier.c505 const struct bpf_reg_state *reg = cur_regs(env) + meta->insn.dst_reg;
522 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg);
530 const struct bpf_reg_state *dreg = cur_regs(env) + meta->insn.dst_reg;
552 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg);
562 cur_regs(env) + meta->insn.dst_reg;
647 meta->insn.dst_reg >= MAX_BPF_REG) {
684 if (meta->insn.dst_reg >= BPF_REG_6 &&
685 meta->insn.dst_reg <= BPF_REG_9)
/linux-master/tools/testing/selftests/bpf/verifier/
H A Datomic_fetch.c95 #define __ATOMIC_FETCH_OP_TEST(src_reg, dst_reg, operand1, op, operand2, expect) \
97 "atomic fetch " #op ", src=" #dst_reg " dst=" #dst_reg, \
102 BPF_MOV64_REG(dst_reg, BPF_REG_10), \
105 dst_reg, src_reg, -8), \
H A Dbasic_instr.c184 .dst_reg = BPF_REG_0,
/linux-master/include/linux/
H A Dfilter.h100 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */
105 .dst_reg = DST, \
116 .dst_reg = DST, \
124 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */
129 .dst_reg = DST, \
139 .dst_reg = DST, \
151 .dst_reg = DST, \
161 .dst_reg = DST, \
166 /* Short form of mov, dst_reg = src_reg */
171 .dst_reg
[all...]
/linux-master/arch/x86/crypto/
H A Dcrct10dif-pcl-asm_64.S83 # Fold src_reg into dst_reg.
84 .macro fold_16_bytes src_reg, dst_reg
88 pxor %xmm8, \dst_reg
89 xorps \src_reg, \dst_reg
/linux-master/arch/arm/crypto/
H A Dcrct10dif-ce-core.S136 // Fold src_reg into dst_reg, optionally loading the next fold constants
137 .macro fold_16_bytes, src_reg, dst_reg, load_next_consts
143 veor.8 \dst_reg, \dst_reg, q8
144 veor.8 \dst_reg, \dst_reg, \src_reg
/linux-master/tools/testing/selftests/bpf/progs/
H A Dnetif_receive_skb.c244 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,});
246 {.code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4,
/linux-master/drivers/scsi/
H A Dscript_asm.pl553 $dst_reg = "\U$1\E";
581 print STDERR "source = $src_reg, data = $data8 , destination = $dst_reg\n"
585 if (($src_reg eq undef) || ($src_reg eq $dst_reg)) {
587 ($registers{$dst_reg} << 16);
588 } elsif ($dst_reg =~ /SFBR/i) {
593 ($registers{$dst_reg} << 16);
/linux-master/drivers/gpu/drm/i915/gem/
H A Di915_gem_ttm_move.c318 struct intel_memory_region *dst_reg, *src_reg; local
320 dst_reg = i915_ttm_region(bo->bdev, dst_mem->mem_type);
322 GEM_BUG_ON(!dst_reg || !src_reg);
326 ttm_kmap_iter_iomap_init(&arg->_dst_iter.io, &dst_reg->iomap,
327 &dst_rsgt->table, dst_reg->region.start);
/linux-master/arch/arm64/crypto/
H A Dcrct10dif-ce-core.S239 // Fold src_reg into dst_reg, optionally loading the next fold constants
240 .macro fold_16_bytes, p, src_reg, dst_reg, load_next_consts
247 eor \dst_reg\().16b, \dst_reg\().16b, v8.16b
248 eor \dst_reg\().16b, \dst_reg\().16b, \src_reg\().16b

Completed in 474 milliseconds

12