Home
last modified time | relevance | path

Searched refs:dst_reg (Results 1 – 25 of 44) sorted by relevance

12

/linux-6.1.9/arch/powerpc/net/
Dbpf_jit_comp32.c283 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); in bpf_jit_build_body() local
284 u32 dst_reg_h = dst_reg - 1; in bpf_jit_build_body()
316 if (dst_reg >= 3 && dst_reg < 32) { in bpf_jit_build_body()
317 bpf_set_seen_register(ctx, dst_reg); in bpf_jit_build_body()
331 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
334 EMIT(PPC_RAW_ADDC(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
338 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
341 EMIT(PPC_RAW_SUBFC(dst_reg, src_reg, dst_reg)); in bpf_jit_build_body()
349 EMIT(PPC_RAW_ADDIS(dst_reg, dst_reg, IMM_HA(imm))); in bpf_jit_build_body()
351 EMIT(PPC_RAW_ADDI(dst_reg, dst_reg, IMM_L(imm))); in bpf_jit_build_body()
[all …]
Dbpf_jit_comp64.c358 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); in bpf_jit_build_body() local
390 if (dst_reg >= BPF_PPC_NVR_MIN && dst_reg < 32) in bpf_jit_build_body()
391 bpf_set_seen_register(ctx, dst_reg); in bpf_jit_build_body()
401 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
405 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
412 EMIT(PPC_RAW_ADDI(dst_reg, dst_reg, IMM_L(imm))); in bpf_jit_build_body()
415 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, tmp1_reg)); in bpf_jit_build_body()
423 EMIT(PPC_RAW_ADDI(dst_reg, dst_reg, IMM_L(-imm))); in bpf_jit_build_body()
426 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, tmp1_reg)); in bpf_jit_build_body()
432 EMIT(PPC_RAW_MULW(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body()
[all …]
Dbpf_jit_comp.c75 PPC_LI32(bpf_to_ppc(insn[i].dst_reg) - 1, (u32)insn[i + 1].imm); in bpf_jit_fixup_addresses()
76 PPC_LI32(bpf_to_ppc(insn[i].dst_reg), (u32)insn[i].imm); in bpf_jit_fixup_addresses()
81 PPC_LI64(bpf_to_ppc(insn[i].dst_reg), func_addr); in bpf_jit_fixup_addresses()
317 int insn_idx, int jmp_off, int dst_reg) in bpf_add_extable_entry() argument
338 fixup[0] = PPC_RAW_LI(dst_reg, 0); in bpf_add_extable_entry()
340 fixup[1] = PPC_RAW_LI(dst_reg - 1, 0); /* clear higher 32-bit register too */ in bpf_add_extable_entry()
/linux-6.1.9/arch/s390/net/
Dbpf_jit_comp.c101 static inline u32 reg(u32 dst_reg, u32 src_reg) in reg() argument
103 return reg2hex[dst_reg] << 4 | reg2hex[src_reg]; in reg()
675 u32 dst_reg = insn->dst_reg; in bpf_jit_insn() local
696 EMIT4(0xb9160000, dst_reg, src_reg); in bpf_jit_insn()
702 EMIT4(0xb9040000, dst_reg, src_reg); in bpf_jit_insn()
706 EMIT6_IMM(0xc00f0000, dst_reg, imm); in bpf_jit_insn()
712 EMIT6_IMM(0xc0010000, dst_reg, imm); in bpf_jit_insn()
724 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64)); in bpf_jit_insn()
733 EMIT2(0x1a00, dst_reg, src_reg); in bpf_jit_insn()
734 EMIT_ZERO(dst_reg); in bpf_jit_insn()
[all …]
/linux-6.1.9/tools/include/linux/
Dfilter.h37 .dst_reg = DST, \
45 .dst_reg = DST, \
55 .dst_reg = DST, \
63 .dst_reg = DST, \
73 .dst_reg = DST, \
83 .dst_reg = DST, \
91 .dst_reg = DST, \
101 .dst_reg = DST, \
109 .dst_reg = DST, \
119 .dst_reg = DST, \
[all …]
/linux-6.1.9/samples/bpf/
Dbpf_insn.h13 .dst_reg = DST, \
21 .dst_reg = DST, \
31 .dst_reg = DST, \
39 .dst_reg = DST, \
49 .dst_reg = DST, \
57 .dst_reg = DST, \
67 .dst_reg = DST, \
75 .dst_reg = DST, \
87 .dst_reg = DST, \
93 .dst_reg = 0, \
[all …]
/linux-6.1.9/arch/x86/net/
Dbpf_jit_comp.c202 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument
204 return byte + reg2hex[dst_reg]; in add_1reg()
208 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument
210 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg()
614 u32 dst_reg, const u32 imm32) in emit_mov_imm32() argument
625 b1 = add_1mod(0x48, dst_reg); in emit_mov_imm32()
628 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32()
637 if (is_ereg(dst_reg)) in emit_mov_imm32()
638 EMIT1(add_2mod(0x40, dst_reg, dst_reg)); in emit_mov_imm32()
641 EMIT2(b2, add_2reg(b3, dst_reg, dst_reg)); in emit_mov_imm32()
[all …]
/linux-6.1.9/kernel/bpf/
Dverifier.c2430 return insn->dst_reg; in insn_def_regno()
2437 int dst_reg = insn_def_regno(insn); in insn_has_def32() local
2439 if (dst_reg == -1) in insn_has_def32()
2442 return !is_reg64(env, insn, dst_reg, NULL, DST_OP); in insn_has_def32()
2574 u32 dreg = 1u << insn->dst_reg; in backtrack_insn()
2650 if (insn->dst_reg != BPF_REG_FP) in backtrack_insn()
3043 u32 dst_reg = env->prog->insnsi[insn_idx].dst_reg; in check_stack_write_fixed_off() local
3081 if (dst_reg != BPF_REG_FP) { in check_stack_write_fixed_off()
5009 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_atomic()
5032 if (is_ctx_reg(env, insn->dst_reg) || in check_atomic()
[all …]
Ddisasm.c126 insn->code, insn->dst_reg, in print_bpf_end_insn()
128 insn->imm, insn->dst_reg); in print_bpf_end_insn()
147 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn()
148 insn->dst_reg); in print_bpf_insn()
152 insn->dst_reg, in print_bpf_insn()
159 insn->dst_reg, in print_bpf_insn()
168 insn->dst_reg, in print_bpf_insn()
176 insn->dst_reg, insn->off, in print_bpf_insn()
189 insn->dst_reg, insn->off, insn->src_reg); in print_bpf_insn()
196 insn->dst_reg, insn->off, in print_bpf_insn()
[all …]
Dcgroup.c2200 BPF_SIZE(si->code), si->dst_reg, si->src_reg, in sysctl_convert_ctx_access()
2215 if (si->src_reg == treg || si->dst_reg == treg) in sysctl_convert_ctx_access()
2217 if (si->src_reg == treg || si->dst_reg == treg) in sysctl_convert_ctx_access()
2220 BPF_DW, si->dst_reg, treg, in sysctl_convert_ctx_access()
2224 treg, si->dst_reg, in sysctl_convert_ctx_access()
2231 BPF_DW, treg, si->dst_reg, in sysctl_convert_ctx_access()
2236 si->dst_reg, si->src_reg, in sysctl_convert_ctx_access()
2240 BPF_SIZE(si->code), si->dst_reg, si->dst_reg, in sysctl_convert_ctx_access()
2381 si->dst_reg, si->src_reg, \
2420 if (si->src_reg == treg || si->dst_reg == treg) in cg_sockopt_convert_ctx_access()
[all …]
Dcore.c55 #define DST regs[insn->dst_reg]
307 dst[i].dst_reg == 0 && in bpf_prog_calc_tag()
1242 if (from->dst_reg == BPF_REG_AX || from->src_reg == BPF_REG_AX) in bpf_jit_blind_insn()
1248 *to++ = BPF_ALU64_REG(BPF_XOR, from->dst_reg, from->dst_reg); in bpf_jit_blind_insn()
1264 *to++ = BPF_ALU32_REG(from->code, from->dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
1278 *to++ = BPF_ALU64_REG(from->code, from->dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
1298 *to++ = BPF_JMP_REG(from->code, from->dst_reg, BPF_REG_AX, off); in bpf_jit_blind_insn()
1318 *to++ = BPF_JMP32_REG(from->code, from->dst_reg, BPF_REG_AX, in bpf_jit_blind_insn()
1326 *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
1333 *to++ = BPF_ALU64_REG(BPF_OR, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
[all …]
/linux-6.1.9/net/core/
Dfilter.c293 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, in convert_skb_access() argument
302 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access()
307 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET); in convert_skb_access()
308 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX); in convert_skb_access()
310 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5); in convert_skb_access()
317 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access()
325 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access()
329 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_VLAN_PRESENT_OFFSET); in convert_skb_access()
331 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, PKT_VLAN_PRESENT_BIT); in convert_skb_access()
333 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, 1); in convert_skb_access()
[all …]
/linux-6.1.9/Documentation/bpf/
Dinstruction-set.rst117 dst_reg = (u32) dst_reg + (u32) src_reg;
121 dst_reg = dst_reg + src_reg
158 dst_reg = htole16(dst_reg)
162 dst_reg = htobe64(dst_reg)
237 *(size *) (dst_reg + off) = src_reg
241 *(size *) (dst_reg + off) = imm32
245 dst_reg = *(size *) (src_reg + off)
279 *(u32 *)(dst_reg + off16) += src_reg
283 *(u64 *)(dst_reg + off16) += src_reg
302 addressed by ``dst_reg + off``.
[all …]
Dclassic_vs_extended.rst212 op:16, jt:8, jf:8, k:32 ==> op:8, dst_reg:4, src_reg:4, off:16, imm:32
325 In eBPF it means dst_reg = (u32) dst_reg + (u32) src_reg; similarly,
334 dst_reg = dst_reg + src_reg
/linux-6.1.9/drivers/net/ethernet/netronome/nfp/bpf/
Djit.c770 reg_a(meta->paired_st->dst_reg * 2), off, len - 1, in nfp_cpp_memcpy()
775 reg_a(meta->paired_st->dst_reg * 2), off, xfer_num - 1, in nfp_cpp_memcpy()
782 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy()
789 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy()
796 reg_a(meta->paired_st->dst_reg * 2), off, 7, in nfp_cpp_memcpy()
802 reg_a(meta->paired_st->dst_reg * 2), off, len - 33, in nfp_cpp_memcpy()
813 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy()
818 xfer_num - 1, reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy()
841 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy()
846 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy()
[all …]
Dverifier.c505 const struct bpf_reg_state *reg = cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_store()
522 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg); in nfp_bpf_check_store()
530 const struct bpf_reg_state *dreg = cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_atomic()
552 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg); in nfp_bpf_check_atomic()
562 cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_alu()
647 meta->insn.dst_reg >= MAX_BPF_REG) { in nfp_verify_insn()
684 if (meta->insn.dst_reg >= BPF_REG_6 && in nfp_assign_subprog_idx_and_regs()
685 meta->insn.dst_reg <= BPF_REG_9) in nfp_assign_subprog_idx_and_regs()
/linux-6.1.9/include/linux/
Dfilter.h95 .dst_reg = DST, \
103 .dst_reg = DST, \
113 .dst_reg = DST, \
121 .dst_reg = DST, \
131 .dst_reg = DST, \
141 .dst_reg = DST, \
149 .dst_reg = DST, \
159 .dst_reg = DST, \
167 .dst_reg = DST, \
176 .dst_reg = DST, \
[all …]
/linux-6.1.9/tools/testing/selftests/bpf/verifier/
Datomic_fetch.c95 #define __ATOMIC_FETCH_OP_TEST(src_reg, dst_reg, operand1, op, operand2, expect) \ argument
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), \
/linux-6.1.9/arch/arm/crypto/
Dcrct10dif-ce-core.S137 .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-6.1.9/arch/x86/crypto/
Dcrct10dif-pcl-asm_64.S83 # Fold src_reg into dst_reg.
84 .macro fold_16_bytes src_reg, dst_reg argument
88 pxor %xmm8, \dst_reg
89 xorps \src_reg, \dst_reg
/linux-6.1.9/drivers/scsi/
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-6.1.9/drivers/gpu/drm/i915/gem/
Di915_gem_ttm_move.c299 struct intel_memory_region *dst_reg, *src_reg; in i915_ttm_memcpy_init() local
301 dst_reg = i915_ttm_region(bo->bdev, dst_mem->mem_type); in i915_ttm_memcpy_init()
303 GEM_BUG_ON(!dst_reg || !src_reg); in i915_ttm_memcpy_init()
307 ttm_kmap_iter_iomap_init(&arg->_dst_iter.io, &dst_reg->iomap, in i915_ttm_memcpy_init()
308 &dst_rsgt->table, dst_reg->region.start); in i915_ttm_memcpy_init()
/linux-6.1.9/arch/arm64/crypto/
Dcrct10dif-ce-core.S240 .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
/linux-6.1.9/tools/testing/selftests/bpf/progs/
Dnetif_receive_skb.c245 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,}); in BPF_PROG()
247 {.code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4, in BPF_PROG()
/linux-6.1.9/tools/testing/selftests/bpf/prog_tests/
Dbtf_dump.c724 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,}); in test_btf_dump_struct_data()
728 { .code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4, in test_btf_dump_struct_data()
738 {.code = 1, .dst_reg = 2, .src_reg = 3, .off = 4, .imm = 5}); in test_btf_dump_struct_data()
743 { .code = 0, .dst_reg = 1}); in test_btf_dump_struct_data()

12