| /linux/arch/powerpc/net/ |
| H A D | bpf_jit_comp64.c | 434 u32 dst_reg = bpf_to_ppc(insn->dst_reg); in bpf_jit_emit_atomic_ops() local 457 EMIT(PPC_RAW_LDARX(tmp2_reg, tmp1_reg, dst_reg, 0)); in bpf_jit_emit_atomic_ops() 459 EMIT(PPC_RAW_LWARX(tmp2_reg, tmp1_reg, dst_reg, 0)); in bpf_jit_emit_atomic_ops() 505 EMIT(PPC_RAW_STDCX(save_reg, tmp1_reg, dst_reg)); in bpf_jit_emit_atomic_ops() 507 EMIT(PPC_RAW_STWCX(save_reg, tmp1_reg, dst_reg)); in bpf_jit_emit_atomic_ops() 564 u32 dst_reg = bpf_to_ppc(insn.dst_reg); in emit_atomic_ld_st() local 576 EMIT(PPC_RAW_LBZ(dst_reg, src_reg, off)); in emit_atomic_ld_st() 579 EMIT(PPC_RAW_LHZ(dst_reg, src_reg, off)); in emit_atomic_ld_st() 582 EMIT(PPC_RAW_LWZ(dst_reg, src_reg, off)); in emit_atomic_ld_st() 587 EMIT(PPC_RAW_LDX(dst_reg, src_reg, tmp1_reg)); in emit_atomic_ld_st() [all …]
|
| H A D | bpf_jit_comp32.c | 300 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); in bpf_jit_build_body() local 301 u32 dst_reg_h = dst_reg - 1; in bpf_jit_build_body() 304 u32 src2_reg = dst_reg; in bpf_jit_build_body() 320 insn[i - 1].dst_reg == insn[i].dst_reg && insn[i - 1].imm != 1) { in bpf_jit_build_body() 343 if (dst_reg >= 3 && dst_reg < 32) { in bpf_jit_build_body() 344 bpf_set_seen_register(ctx, dst_reg); in bpf_jit_build_body() 358 EMIT(PPC_RAW_ADD(dst_reg, src2_reg, src_reg)); in bpf_jit_build_body() 361 EMIT(PPC_RAW_ADDC(dst_reg, src2_reg, src_reg)); in bpf_jit_build_body() 365 EMIT(PPC_RAW_SUB(dst_reg, src2_reg, src_reg)); in bpf_jit_build_body() 368 EMIT(PPC_RAW_SUBFC(dst_reg, src_reg, src2_reg)); in bpf_jit_build_body() [all …]
|
| H A D | bpf_jit.h | 206 int jmp_off, int dst_reg, u32 code);
|
| /linux/tools/include/linux/ |
| H A 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/samples/bpf/ |
| H A 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/kernel/bpf/ |
| H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 176 * dst_reg = src_reg + <percpu_base_off> 202 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn() 203 insn->dst_reg); in print_bpf_insn() 206 insn->code, insn->dst_reg, in print_bpf_insn() 210 insn->code, insn->dst_reg, insn->src_reg); in print_bpf_insn() 214 insn->dst_reg, in print_bpf_insn() [all...] |
| H A D | verifier.c | 3744 return insn->dst_reg; in insn_def_regno() 3750 return insn->dst_reg; in insn_def_regno() 3757 int dst_reg = insn_def_regno(insn); in insn_has_def32() local 3759 if (dst_reg == -1) in insn_has_def32() 3762 return !is_reg64(insn, dst_reg, NULL, DST_OP); in insn_has_def32() 4245 u32 dreg = insn->dst_reg; in backtrack_insn() 7812 err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); in check_load_mem() 7822 BPF_SIZE(insn->code), BPF_READ, insn->dst_reg, in check_load_mem() 7826 err = err ?: reg_bounds_sanity_check(env, ®s[insn->dst_reg], ctx); in check_load_mem() 7844 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_store_reg() [all …]
|
| H A D | core.c | 61 #define DST regs[insn->dst_reg] 321 dst[i].dst_reg == 0 && in bpf_prog_calc_tag() 1320 if (from->dst_reg == BPF_REG_AX || from->src_reg == BPF_REG_AX) in bpf_jit_blind_insn() 1326 *to++ = BPF_ALU64_REG(BPF_XOR, from->dst_reg, from->dst_reg); in bpf_jit_blind_insn() 1342 *to++ = BPF_ALU32_REG_OFF(from->code, from->dst_reg, BPF_REG_AX, from->off); in bpf_jit_blind_insn() 1356 *to++ = BPF_ALU64_REG_OFF(from->code, from->dst_reg, BPF_REG_AX, from->off); in bpf_jit_blind_insn() 1376 *to++ = BPF_JMP_REG(from->code, from->dst_reg, BPF_REG_AX, off); in bpf_jit_blind_insn() 1396 *to++ = BPF_JMP32_REG(from->code, from->dst_reg, BPF_REG_AX, in bpf_jit_blind_insn() 1404 *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_A in bpf_jit_blind_insn() [all...] |
| /linux/tools/testing/selftests/bpf/ |
| H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 176 * dst_reg = src_reg + <percpu_base_off> 202 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn() 203 insn->dst_reg); in print_bpf_insn() 206 insn->code, insn->dst_reg, in print_bpf_insn() 210 insn->code, insn->dst_reg, insn->src_reg); in print_bpf_insn() 214 insn->dst_reg, in print_bpf_insn() [all...] |
| /linux/net/core/ |
| H A D | filter.c | 319 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, in convert_skb_access() argument 328 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 333 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET); in convert_skb_access() 334 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX); in convert_skb_access() 336 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5); in convert_skb_access() 343 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 351 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 356 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 358 *insn++ = BPF_JMP_IMM(BPF_JEQ, dst_reg, 0, 1); in convert_skb_access() 359 *insn++ = BPF_ALU32_IMM(BPF_MOV, dst_reg, 1); in convert_skb_access() [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| H A D | jit.c | 770 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 …]
|
| H A D | verifier.c | 505 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/include/linux/ |
| H A D | filter.h | 108 .dst_reg = DST, \ 119 .dst_reg = DST, \ 132 .dst_reg = DST, \ 142 .dst_reg = DST, \ 154 .dst_reg = DST, \ 164 .dst_reg = DST, \ 174 .dst_reg = DST, \ 182 .dst_reg = DST, \ 196 .dst_reg = DST, \ 211 .dst_reg = DST, \ [all …]
|
| /linux/tools/testing/selftests/bpf/verifier/ |
| H A D | atomic_fetch.c | 95 #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), \
|
| H A D | basic_instr.c | 184 .dst_reg = BPF_REG_0,
|
| /linux/drivers/scsi/ |
| H A D | script_asm.pl | 553 $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/lib/crc/arm64/ |
| H A D | crc-t10dif-core.S | 199 .macro fold_16_bytes, p, src_reg, dst_reg, load_next_consts 204 eor \dst_reg\().16b, \dst_reg\().16b, v8.16b 205 eor \dst_reg\().16b, \dst_reg\().16b, \src_reg\().16b
|
| /linux/lib/crc/arm/ |
| H A D | crc-t10dif-core.S | 215 .macro fold_16_bytes, src_reg, dst_reg, p, load_next_consts 220 veor.8 \dst_reg, \dst_reg, \src_reg
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | netif_receive_skb.c | 241 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,}); in BPF_PROG() 243 {.code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4, in BPF_PROG()
|
| /linux/Documentation/bpf/ |
| H A D | classic_vs_extended.rst | 212 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/tools/testing/selftests/bpf/prog_tests/ |
| H A D | btf_dump.c | 794 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,}); in test_btf_dump_struct_data() 798 { .code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4, in test_btf_dump_struct_data() 803 " .dst_reg = (__u8)0x2,\n" in test_btf_dump_struct_data() 808 {.code = 1, .dst_reg = 2, .src_reg = 3, .off = 4, .imm = 5}); in test_btf_dump_struct_data() 812 "(struct bpf_insn){.dst_reg = (__u8)0x1,}", in test_btf_dump_struct_data() 813 { .code = 0, .dst_reg = 1}); in test_btf_dump_struct_data()
|
| /linux/Documentation/bpf/standardization/ |
| H A D | instruction-set.rst | 187 |src_reg|dst_reg| 193 |dst_reg|src_reg| 200 **dst_reg** 219 src_reg dst_reg 221 dst_reg src_reg 233 with 'opcode', 'dst_reg', 'src_reg', and 'offset' all set to zero. 787 mode modifier of ``ABS`` or ``IND``. The 'dst_reg' and 'offset' fields were
|
| /linux/Documentation/dev-tools/ |
| H A D | checkuapi.rst | 87 __u8 dst_reg:4; /* dest register */ 138 - __u8 dst_reg:4; /* dest register */ 140 + __u8 dst_reg:4; /* dest register */ 157 '__u8 dst_reg' offset changed from 8 to 12 (in bits) (by +4 bits) 195 '__u8 dst_reg' offset changed from 8 to 12 (in bits) (by +4 bits)
|
| /linux/kernel/trace/ |
| H A D | bpf_trace.c | 1867 data), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 1869 *insn++ = BPF_LDX_MEM(BPF_DW, si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access() 1875 data), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 1877 *insn++ = BPF_LDX_MEM(BPF_DW, si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access() 1883 regs), si->dst_reg, si->src_reg, in pe_prog_convert_ctx_access() 1885 *insn++ = BPF_LDX_MEM(BPF_SIZEOF(long), si->dst_reg, si->dst_reg, in pe_prog_convert_ctx_access()
|
| /linux/arch/sparc/net/ |
| H A D | bpf_jit_comp_64.c | 898 const u8 dst = bpf2sparc[insn->dst_reg]; in build_insn() 1302 if (insn->dst_reg == BPF_REG_FP) in build_insn() 1343 if (insn->dst_reg == BPF_REG_FP) in build_insn() 1384 if (insn->dst_reg == BPF_REG_FP) in build_insn() 1412 if (insn->dst_reg == BPF_REG_FP) in build_insn()
|