/Linux-v4.19/arch/powerpc/net/ |
D | bpf_jit_comp64.c | 283 u32 dst_reg = b2p[insn[i].dst_reg]; in bpf_jit_build_body() local 309 if (dst_reg >= BPF_PPC_NVR_MIN && dst_reg < 32) in bpf_jit_build_body() 310 bpf_set_seen_register(ctx, insn[i].dst_reg); in bpf_jit_build_body() 320 PPC_ADD(dst_reg, dst_reg, src_reg); in bpf_jit_build_body() 324 PPC_SUB(dst_reg, dst_reg, src_reg); in bpf_jit_build_body() 334 PPC_ADDI(dst_reg, dst_reg, IMM_L(imm)); in bpf_jit_build_body() 337 PPC_ADD(dst_reg, dst_reg, b2p[TMP_REG_1]); in bpf_jit_build_body() 344 PPC_MULW(dst_reg, dst_reg, src_reg); in bpf_jit_build_body() 346 PPC_MULD(dst_reg, dst_reg, src_reg); in bpf_jit_build_body() 351 PPC_MULI(dst_reg, dst_reg, IMM_L(imm)); in bpf_jit_build_body() [all …]
|
/Linux-v4.19/arch/x86/net/ |
D | bpf_jit_comp.c | 168 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument 170 return byte + reg2hex[dst_reg]; in add_1reg() 174 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument 176 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg() 329 u32 dst_reg, const u32 imm32) in emit_mov_imm32() argument 341 b1 = add_1mod(0x48, dst_reg); in emit_mov_imm32() 344 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32() 353 if (is_ereg(dst_reg)) in emit_mov_imm32() 354 EMIT1(add_2mod(0x40, dst_reg, dst_reg)); in emit_mov_imm32() 357 EMIT2(b2, add_2reg(b3, dst_reg, dst_reg)); in emit_mov_imm32() [all …]
|
D | bpf_jit_comp32.c | 186 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument 188 return byte + dst_reg; in add_1reg() 192 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument 194 return byte + dst_reg + (src_reg << 3); in add_2reg() 1632 const bool dstk = insn->dst_reg == BPF_REG_AX ? false : true; in do_jit() 1635 const u8 *dst = bpf2ia32[insn->dst_reg]; in do_jit()
|
/Linux-v4.19/arch/s390/net/ |
D | bpf_jit_comp.c | 102 static inline u32 reg(u32 dst_reg, u32 src_reg) in reg() argument 104 return reg2hex[dst_reg] << 4 | reg2hex[src_reg]; in reg() 507 u32 dst_reg = insn->dst_reg; in bpf_jit_insn() local 514 if (dst_reg == BPF_REG_AX || src_reg == BPF_REG_AX) in bpf_jit_insn() 522 EMIT4(0xb9160000, dst_reg, src_reg); in bpf_jit_insn() 526 EMIT4(0xb9040000, dst_reg, src_reg); in bpf_jit_insn() 530 EMIT6_IMM(0xc00f0000, dst_reg, imm); in bpf_jit_insn() 534 EMIT6_IMM(0xc0010000, dst_reg, imm); in bpf_jit_insn() 546 EMIT6_DISP_LH(0xe3000000, 0x0004, dst_reg, REG_0, REG_L, in bpf_jit_insn() 556 EMIT2(0x1a00, dst_reg, src_reg); in bpf_jit_insn() [all …]
|
/Linux-v4.19/tools/include/linux/ |
D | filter.h | 37 .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-v4.19/samples/bpf/ |
D | bpf_insn.h | 13 .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-v4.19/kernel/bpf/ |
D | verifier.c | 1811 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_xadd() 1820 if (is_ctx_reg(env, insn->dst_reg) || in check_xadd() 1821 is_pkt_reg(env, insn->dst_reg)) { in check_xadd() 1823 insn->dst_reg, is_ctx_reg(env, insn->dst_reg) ? in check_xadd() 1829 err = check_mem_access(env, insn_idx, insn->dst_reg, insn->off, in check_xadd() 1835 return check_mem_access(env, insn_idx, insn->dst_reg, insn->off, in check_xadd() 2697 struct bpf_reg_state *regs = state->regs, *dst_reg; in adjust_ptr_min_max_vals() local 2704 u32 dst = insn->dst_reg; in adjust_ptr_min_max_vals() 2706 dst_reg = ®s[dst]; in adjust_ptr_min_max_vals() 2713 __mark_reg_unknown(dst_reg); in adjust_ptr_min_max_vals() [all …]
|
D | disasm.c | 120 insn->code, insn->dst_reg, in print_bpf_end_insn() 122 insn->imm, insn->dst_reg); in print_bpf_end_insn() 140 insn->code, insn->dst_reg, in print_bpf_insn() 142 insn->dst_reg); in print_bpf_insn() 146 insn->dst_reg, in print_bpf_insn() 153 insn->dst_reg, in print_bpf_insn() 163 insn->dst_reg, in print_bpf_insn() 169 insn->dst_reg, insn->off, in print_bpf_insn() 181 insn->dst_reg, in print_bpf_insn() 189 insn->code, insn->dst_reg, in print_bpf_insn() [all …]
|
D | core.c | 52 #define DST regs[insn->dst_reg] 183 dst[i].dst_reg == 0 && in bpf_prog_calc_tag() 648 *to++ = BPF_ALU64_REG(BPF_XOR, from->dst_reg, from->dst_reg); in bpf_jit_blind_insn() 664 *to++ = BPF_ALU32_REG(from->code, from->dst_reg, BPF_REG_AX); in bpf_jit_blind_insn() 678 *to++ = BPF_ALU64_REG(from->code, from->dst_reg, BPF_REG_AX); in bpf_jit_blind_insn() 698 *to++ = BPF_JMP_REG(from->code, from->dst_reg, BPF_REG_AX, off); in bpf_jit_blind_insn() 705 *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn() 710 *to++ = BPF_ALU64_REG(BPF_OR, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn() 719 *to++ = BPF_STX_MEM(from->code, from->dst_reg, BPF_REG_AX, from->off); in bpf_jit_blind_insn()
|
/Linux-v4.19/net/core/ |
D | filter.c | 265 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, in convert_skb_access() argument 274 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 279 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET()); in convert_skb_access() 280 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX); in convert_skb_access() 282 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5); in convert_skb_access() 289 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 299 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 302 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, in convert_skb_access() 306 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 12); in convert_skb_access() 308 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, 1); in convert_skb_access() [all …]
|
/Linux-v4.19/arch/mips/net/ |
D | ebpf_jit.c | 181 dst_reg, enumerator 195 insn->src_reg : insn->dst_reg; in ebpf_to_mips_reg() 223 if (w == dst_reg || w == src_reg_no_fp) in ebpf_to_mips_reg() 405 int dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in gen_imm_insn() 443 get_reg_val_type(ctx, idx, insn->dst_reg) == REG_32BIT) in gen_imm_insn() 449 get_reg_val_type(ctx, idx, insn->dst_reg) != REG_32BIT) in gen_imm_insn() 671 dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in build_one_insn() 674 if (get_reg_val_type(ctx, this_idx, insn->dst_reg) == REG_32BIT) in build_one_insn() 683 dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in build_one_insn() 686 if (get_reg_val_type(ctx, this_idx, insn->dst_reg) == REG_32BIT) in build_one_insn() [all …]
|
/Linux-v4.19/include/linux/ |
D | filter.h | 87 .dst_reg = DST, \ 95 .dst_reg = DST, \ 105 .dst_reg = DST, \ 113 .dst_reg = DST, \ 123 .dst_reg = DST, \ 133 .dst_reg = DST, \ 141 .dst_reg = DST, \ 151 .dst_reg = DST, \ 159 .dst_reg = DST, \ 171 .dst_reg = DST, \ [all …]
|
/Linux-v4.19/drivers/net/ethernet/netronome/nfp/bpf/ |
D | jit.c | 750 reg_a(meta->paired_st->dst_reg * 2), off, len - 1, in nfp_cpp_memcpy() 755 reg_a(meta->paired_st->dst_reg * 2), off, xfer_num - 1, in nfp_cpp_memcpy() 762 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 769 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 776 reg_a(meta->paired_st->dst_reg * 2), off, 7, in nfp_cpp_memcpy() 782 reg_a(meta->paired_st->dst_reg * 2), off, len - 33, in nfp_cpp_memcpy() 793 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 798 xfer_num - 1, reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 821 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy() 826 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy() [all …]
|
D | verifier.c | 481 const struct bpf_reg_state *reg = cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_store() 498 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg); in nfp_bpf_check_store() 506 const struct bpf_reg_state *dreg = cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_xadd() 523 return nfp_bpf_check_ptr(nfp_prog, meta, env, meta->insn.dst_reg); in nfp_bpf_check_xadd() 533 cur_regs(env) + meta->insn.dst_reg; in nfp_bpf_check_alu() 618 meta->insn.dst_reg >= MAX_BPF_REG) { in nfp_verify_insn()
|
/Linux-v4.19/arch/arm/crypto/ |
D | speck-neon-core.S | 182 .macro _xts128_precrypt_one dst_reg, tweak_buf, tmp 185 vld1.8 {\dst_reg}, [SRC]! 191 veor \dst_reg, TWEAKV 204 .macro _xts64_precrypt_two dst_reg, tweak_buf, tmp 207 vld1.8 {\dst_reg}, [SRC]! 213 veor \dst_reg, TWEAKV
|
/Linux-v4.19/drivers/scsi/ |
D | script_asm.pl | 566 $dst_reg = "\U$1\E"; 594 print STDERR "source = $src_reg, data = $data8 , destination = $dst_reg\n" 598 if (($src_reg eq undef) || ($src_reg eq $dst_reg)) { 600 ($registers{$dst_reg} << 16); 601 } elsif ($dst_reg =~ /SFBR/i) { 606 ($registers{$dst_reg} << 16);
|
/Linux-v4.19/kernel/trace/ |
D | bpf_trace.c | 922 data), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 924 *insn++ = BPF_LDX_MEM(BPF_DW, si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access() 930 data), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 932 *insn++ = BPF_LDX_MEM(BPF_DW, si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access() 938 regs), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 940 *insn++ = BPF_LDX_MEM(BPF_SIZEOF(long), si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access()
|
/Linux-v4.19/tools/bpf/bpftool/ |
D | xlated_dumper.c | 272 jsonw_printf(json_wtr, "\"0x%hhx\"", insn[i].dst_reg); in dump_xlated_json()
|
/Linux-v4.19/Documentation/networking/ |
D | filter.txt | 815 op:16, jt:8, jf:8, k:32 ==> op:8, dst_reg:4, src_reg:4, off:16, imm:32 922 In eBPF it means dst_reg = (u32) dst_reg + (u32) src_reg; similarly, 931 dst_reg = dst_reg + src_reg 999 BPF_MEM | <size> | BPF_STX: *(size *) (dst_reg + off) = src_reg 1000 BPF_MEM | <size> | BPF_ST: *(size *) (dst_reg + off) = imm32 1001 BPF_MEM | <size> | BPF_LDX: dst_reg = *(size *) (src_reg + off) 1002 BPF_XADD | BPF_W | BPF_STX: lock xadd *(u32 *)(dst_reg + off16) += src_reg 1003 BPF_XADD | BPF_DW | BPF_STX: lock xadd *(u64 *)(dst_reg + off16) += src_reg 1010 instruction that loads 64-bit immediate value into a dst_reg.
|
/Linux-v4.19/tools/include/uapi/linux/ |
D | bpf.h | 66 __u8 dst_reg:4; /* dest register */ member
|
/Linux-v4.19/include/uapi/linux/ |
D | bpf.h | 66 __u8 dst_reg:4; /* dest register */ member
|
/Linux-v4.19/arch/arm64/net/ |
D | bpf_jit_comp.c | 357 const u8 dst = bpf2a64[insn->dst_reg]; in build_insn()
|
/Linux-v4.19/arch/sparc/net/ |
D | bpf_jit_comp_64.c | 892 const u8 dst = bpf2sparc[insn->dst_reg]; in build_insn()
|
/Linux-v4.19/arch/arm/net/ |
D | bpf_jit_32.c | 1318 const s8 *dst = bpf2a32[insn->dst_reg]; in build_insn()
|
/Linux-v4.19/tools/testing/selftests/bpf/ |
D | test_verifier.c | 8500 .dst_reg = BPF_REG_0,
|