Home
last modified time | relevance | path

Searched refs:BPF_FETCH (Results 1 – 25 of 27) sorted by relevance

12

/linux/tools/testing/selftests/bpf/verifier/
H A Datomic_fetch.c10 BPF_ATOMIC_OP(BPF_DW, BPF_AND | BPF_FETCH, BPF_REG_2, BPF_REG_1, 0),
34 BPF_ATOMIC_OP(BPF_DW, BPF_AND | BPF_FETCH, BPF_REG_2, BPF_REG_1, 0),
58 BPF_ATOMIC_OP(BPF_W, BPF_AND | BPF_FETCH, BPF_REG_2, BPF_REG_1, 0),
81 BPF_ATOMIC_OP(BPF_W, BPF_AND | BPF_FETCH, BPF_REG_2, BPF_REG_1, 0),
121 __ATOMIC_FETCH_OP_TEST(BPF_REG_1, BPF_REG_2, 1, BPF_ADD | BPF_FETCH, 2, 3),
122 __ATOMIC_FETCH_OP_TEST(BPF_REG_0, BPF_REG_1, 1, BPF_ADD | BPF_FETCH, 2, 3),
123 __ATOMIC_FETCH_OP_TEST(BPF_REG_1, BPF_REG_0, 1, BPF_ADD | BPF_FETCH, 2, 3),
124 __ATOMIC_FETCH_OP_TEST(BPF_REG_2, BPF_REG_3, 1, BPF_ADD | BPF_FETCH, 2, 3),
125 __ATOMIC_FETCH_OP_TEST(BPF_REG_4, BPF_REG_5, 1, BPF_ADD | BPF_FETCH, 2, 3),
126 __ATOMIC_FETCH_OP_TEST(BPF_REG_9, BPF_REG_8, 1, BPF_ADD | BPF_FETCH, 2, 3),
[all …]
H A Datomic_invalid.c15 __INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
17 __INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
19 __INVALID_ATOMIC_ACCESS_TEST(BPF_AND | BPF_FETCH),
21 __INVALID_ATOMIC_ACCESS_TEST(BPF_OR | BPF_FETCH),
23 __INVALID_ATOMIC_ACCESS_TEST(BPF_XOR | BPF_FETCH),
H A Datomic_fetch_add.c9 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
31 BPF_ATOMIC_OP(BPF_W, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_1, -4),
50 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_10, -8),
62 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8),
75 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_2, BPF_REG_0, -8),
96 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_2, BPF_REG_3, 0),
H A Datomic_or.c30 BPF_ATOMIC_OP(BPF_DW, BPF_OR | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
60 BPF_ATOMIC_OP(BPF_W, BPF_OR | BPF_FETCH, BPF_REG_10, BPF_REG_1, -4),
88 BPF_ATOMIC_OP(BPF_W, BPF_OR | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
H A Datomic_and.c30 BPF_ATOMIC_OP(BPF_DW, BPF_AND | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
60 BPF_ATOMIC_OP(BPF_W, BPF_AND | BPF_FETCH, BPF_REG_10, BPF_REG_1, -4),
85 BPF_ATOMIC_OP(BPF_DW, BPF_AND | BPF_FETCH, BPF_REG_10, BPF_REG_0, -8),
H A Datomic_xor.c30 BPF_ATOMIC_OP(BPF_DW, BPF_XOR | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
60 BPF_ATOMIC_OP(BPF_W, BPF_XOR | BPF_FETCH, BPF_REG_10, BPF_REG_1, -4),
H A Datomic_bounds.c18 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8),
/linux/tools/testing/selftests/bpf/progs/
H A Dverifier_precision.c333 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8)) in bpf_atomic_fetch_add_precision()
381 BPF_ATOMIC_OP(BPF_DW, BPF_OR | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8)) in bpf_atomic_fetch_or_precision()
405 BPF_ATOMIC_OP(BPF_DW, BPF_AND | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8)) in bpf_atomic_fetch_and_precision()
429 BPF_ATOMIC_OP(BPF_DW, BPF_XOR | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8)) in bpf_atomic_fetch_xor_precision()
489 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_2, -8)) in bpf_atomic_fetch_add_dual_precision()
549 BPF_ATOMIC_OP(BPF_DW, BPF_ADD | BPF_FETCH, BPF_REG_0, BPF_REG_1, 0)) in bpf_atomic_fetch_add_map_precision()
611 BPF_ATOMIC_OP(BPF_W, BPF_ADD | BPF_FETCH, BPF_REG_0, BPF_REG_1, 0)) in bpf_atomic_fetch_add_32bit_precision()
H A Dverifier_zext.c131 BPF_ATOMIC_OP(BPF_W, BPF_ADD | BPF_FETCH, BPF_REG_10, BPF_REG_1, -8)) in zext_atomic_fetch32_hi_used()
/linux/arch/mips/net/
H A Dbpf_jit_comp32.c813 case BPF_ADD | BPF_FETCH: in emit_atomic_r64()
819 case BPF_SUB | BPF_FETCH: in emit_atomic_r64()
825 case BPF_OR | BPF_FETCH: in emit_atomic_r64()
831 case BPF_AND | BPF_FETCH: in emit_atomic_r64()
837 case BPF_XOR | BPF_FETCH: in emit_atomic_r64()
849 if (code & BPF_FETCH) { in emit_atomic_r64()
894 case BPF_ADD | BPF_FETCH: in emit_cmpxchg_r32()
900 case BPF_SUB | BPF_FETCH: in emit_cmpxchg_r32()
906 case BPF_OR | BPF_FETCH: in emit_cmpxchg_r32()
912 case BPF_AND | BPF_FETCH in emit_cmpxchg_r64()
[all...]
H A Dbpf_jit_comp64.c467 case BPF_ADD | BPF_FETCH: in emit_call()
471 case BPF_AND | BPF_FETCH: in emit_call()
475 case BPF_OR | BPF_FETCH:
479 case BPF_XOR | BPF_FETCH: in emit_tail_call()
490 if (code & BPF_FETCH) { in emit_tail_call()
932 case BPF_ADD | BPF_FETCH: in build_insn()
934 case BPF_AND | BPF_FETCH: in build_insn()
936 case BPF_OR | BPF_FETCH: in build_insn()
938 case BPF_XOR | BPF_FETCH: in build_insn()
942 } else if (imm & BPF_FETCH) { in build_insn()
[all...]
/linux/tools/testing/selftests/bpf/
H A Ddisasm.c252 (insn->imm == (BPF_ADD | BPF_FETCH) || in print_bpf_insn()
253 insn->imm == (BPF_AND | BPF_FETCH) || in print_bpf_insn()
254 insn->imm == (BPF_OR | BPF_FETCH) || in print_bpf_insn()
255 insn->imm == (BPF_XOR | BPF_FETCH))) { in print_bpf_insn()
/linux/kernel/bpf/
H A Ddisasm.c252 (insn->imm == (BPF_ADD | BPF_FETCH) || in print_bpf_insn()
253 insn->imm == (BPF_AND | BPF_FETCH) || in print_bpf_insn()
254 insn->imm == (BPF_OR | BPF_FETCH) || in print_bpf_insn()
255 insn->imm == (BPF_XOR | BPF_FETCH))) { in print_bpf_insn()
H A Dbacktrack.c74 (insn->imm & BPF_FETCH);
H A Dliveness.c1488 /* BPF_XCHG, BPF_CMPXCHG or BPF_{ADD,AND,OR,XOR} | [BPF_FETCH] */ in find_callback_subprog()
2571 if (insn->imm & BPF_FETCH)
/linux/Documentation/bpf/
H A Dclang-notes.rst37 Clang can generate is ``BPF_ADD`` *without* ``BPF_FETCH``. If you need to enable
/linux/arch/arm64/net/
H A Dbpf_jit_comp.c832 case BPF_ADD | BPF_FETCH: in emit_lse_atomic()
835 case BPF_AND | BPF_FETCH: in emit_lse_atomic()
839 case BPF_OR | BPF_FETCH: in emit_lse_atomic()
842 case BPF_XOR | BPF_FETCH: in emit_lse_atomic()
903 } else if (imm == (BPF_ADD | BPF_FETCH) || in emit_ll_sc_atomic()
904 imm == (BPF_AND | BPF_FETCH) || in emit_ll_sc_atomic()
905 imm == (BPF_OR | BPF_FETCH) || in emit_ll_sc_atomic()
906 imm == (BPF_XOR | BPF_FETCH)) { in emit_ll_sc_atomic()
912 if (imm == (BPF_ADD | BPF_FETCH)) in emit_ll_sc_atomic()
914 else if (imm == (BPF_AND | BPF_FETCH)) in emit_ll_sc_atomic()
[all...]
/linux/arch/s390/net/
H A Dbpf_jit_comp.c785 * A read-modify-write carrying BPF_FETCH reads the old value into in bpf_jit_probe_atomic_pre()
1646 (insn->imm & BPF_FETCH) ? src_reg : REG_W0, \ in bpf_jit_insn()
1651 if (insn->imm & BPF_FETCH) { \ in bpf_jit_insn()
1659 case BPF_ADD | BPF_FETCH: in bpf_jit_insn()
1664 case BPF_AND | BPF_FETCH: in bpf_jit_insn()
1669 case BPF_OR | BPF_FETCH: in bpf_jit_insn()
1674 case BPF_XOR | BPF_FETCH: in bpf_jit_insn()
/linux/arch/riscv/net/
H A Dbpf_jit_comp32.c882 bool is_fetch = (imm & BPF_FETCH) || (imm == BPF_XCHG); in emit_bpf_atomic()
889 case BPF_ADD | BPF_FETCH: in emit_bpf_atomic()
893 case BPF_AND | BPF_FETCH: in emit_bpf_atomic()
897 case BPF_OR | BPF_FETCH: in emit_bpf_atomic()
901 case BPF_XOR | BPF_FETCH: in emit_bpf_atomic()
H A Dbpf_jit_comp64.c667 case BPF_ADD | BPF_FETCH: in emit_atomic_rmw()
675 case BPF_AND | BPF_FETCH: in emit_atomic_rmw()
683 case BPF_OR | BPF_FETCH:
691 case BPF_XOR | BPF_FETCH: in sign_extend()
2102 * carrying BPF_FETCH reads the old value into src_reg, or into in bpf_jit_build_prologue()
/linux/arch/x86/net/
H A Dbpf_jit_comp.c245 return insn->imm == (BPF_AND | BPF_FETCH) || in is_axreg()
246 insn->imm == (BPF_OR | BPF_FETCH) || in is_axreg()
247 insn->imm == (BPF_XOR | BPF_FETCH); in is_axreg()
1660 case BPF_ADD | BPF_FETCH: in emit_spectre_bhb_barrier()
1713 case BPF_ADD | BPF_FETCH: in emit_kfunc_arena_args()
3206 * except for a read-modify-write with BPF_FETCH, in restore_regs()
/linux/tools/include/uapi/linux/
H A Dbpf.h50 #define BPF_FETCH 0x01 /* not an opcode on its own, used to build others */ macro
51 #define BPF_XCHG (0xe0 | BPF_FETCH) /* atomic exchange */
52 #define BPF_CMPXCHG (0xf0 | BPF_FETCH) /* atomic compare-and-write */
/linux/include/uapi/linux/
H A Dbpf.h50 #define BPF_FETCH 0x01 /* not an opcode on its own, used to build others */ macro
51 #define BPF_XCHG (0xe0 | BPF_FETCH) /* atomic exchange */
52 #define BPF_CMPXCHG (0xf0 | BPF_FETCH) /* atomic compare-and-write */
/linux/arch/loongarch/net/
H A Dbpf_jit.c407 case BPF_ADD | BPF_FETCH: in emit_atomic_rmw()
434 case BPF_AND | BPF_FETCH: in emit_atomic_rmw()
442 case BPF_OR | BPF_FETCH: in emit_atomic_rmw()
450 case BPF_XOR | BPF_FETCH: in emit_atomic_rmw()
/linux/include/linux/
H A Dfilter.h393 * BPF_ADD | BPF_FETCH src_reg = atomic_fetch_add(dst_reg + off16, src_reg); in bpf_atomic_is_load_store()
394 * BPF_AND | BPF_FETCH src_reg = atomic_fetch_and(dst_reg + off16, src_reg); in bpf_atomic_is_load_store()
395 * BPF_OR | BPF_FETCH src_reg = atomic_fetch_or(dst_reg + off16, src_reg); in bpf_atomic_is_load_store()
396 * BPF_XOR | BPF_FETCH src_reg = atomic_fetch_xor(dst_reg + off16, src_reg); in bpf_atomic_is_load_store()
465 return (insn->imm & BPF_FETCH) ? insn->src_reg : -1;

12