Home
last modified time | relevance | path

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

/linux-6.15/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_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_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_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-6.15/arch/mips/net/
H A Dbpf_jit_comp32.c741 case BPF_ADD | BPF_FETCH: in emit_atomic_r32()
747 case BPF_SUB | BPF_FETCH: in emit_atomic_r32()
753 case BPF_OR | BPF_FETCH: in emit_atomic_r32()
759 case BPF_AND | BPF_FETCH: in emit_atomic_r32()
765 case BPF_XOR | BPF_FETCH: in emit_atomic_r32()
777 if (code & BPF_FETCH) { in emit_atomic_r32()
822 case BPF_ADD | BPF_FETCH: in emit_atomic_r64()
828 case BPF_SUB | BPF_FETCH: in emit_atomic_r64()
834 case BPF_OR | BPF_FETCH: in emit_atomic_r64()
858 if (code & BPF_FETCH) { in emit_atomic_r64()
[all …]
H A Dbpf_jit_comp64.c391 case BPF_ADD | BPF_FETCH: in emit_atomic_r64()
395 case BPF_AND | BPF_FETCH: in emit_atomic_r64()
399 case BPF_OR | BPF_FETCH: in emit_atomic_r64()
403 case BPF_XOR | BPF_FETCH: in emit_atomic_r64()
414 if (code & BPF_FETCH) { in emit_atomic_r64()
853 case BPF_ADD | BPF_FETCH: in build_insn()
855 case BPF_AND | BPF_FETCH: in build_insn()
857 case BPF_OR | BPF_FETCH: in build_insn()
859 case BPF_XOR | BPF_FETCH: in build_insn()
863 } else if (imm & BPF_FETCH) { in build_insn()
H A Dbpf_jit_comp.c415 case BPF_ADD | BPF_FETCH: in emit_atomic_r()
419 case BPF_AND | BPF_FETCH: in emit_atomic_r()
423 case BPF_OR | BPF_FETCH: in emit_atomic_r()
427 case BPF_XOR | BPF_FETCH: in emit_atomic_r()
438 if (code & BPF_FETCH) { in emit_atomic_r()
/linux-6.15/tools/testing/selftests/bpf/
H A Ddisasm.c245 (insn->imm == (BPF_ADD | BPF_FETCH) || in print_bpf_insn()
246 insn->imm == (BPF_AND | BPF_FETCH) || in print_bpf_insn()
247 insn->imm == (BPF_OR | BPF_FETCH) || in print_bpf_insn()
248 insn->imm == (BPF_XOR | BPF_FETCH))) { in print_bpf_insn()
/linux-6.15/kernel/bpf/
H A Ddisasm.c245 (insn->imm == (BPF_ADD | BPF_FETCH) || in print_bpf_insn()
246 insn->imm == (BPF_AND | BPF_FETCH) || in print_bpf_insn()
247 insn->imm == (BPF_OR | BPF_FETCH) || in print_bpf_insn()
248 insn->imm == (BPF_XOR | BPF_FETCH))) { in print_bpf_insn()
H A Dverifier.c3654 (insn->imm & BPF_FETCH)) { in insn_def_regno()
7770 if (insn->imm & BPF_FETCH) { in check_atomic_rmw()
7854 case BPF_ADD | BPF_FETCH: in check_atomic()
7856 case BPF_AND | BPF_FETCH: in check_atomic()
7858 case BPF_OR | BPF_FETCH: in check_atomic()
7860 case BPF_XOR | BPF_FETCH: in check_atomic()
23748 if (insn->imm & BPF_FETCH) in compute_insn_live_regs()
H A Dcore.c2164 case BOP | BPF_FETCH: \ in ___bpf_prog_run()
/linux-6.15/lib/
H A Dtest_bpf.c1633 if (op & BPF_FETCH) in __bpf_emit_atomic64()
1680 if (op & BPF_FETCH) in __bpf_emit_atomic32()
1828 return __bpf_fill_atomic64(self, BPF_ADD | BPF_FETCH); in bpf_fill_atomic64_add_fetch()
1838 return __bpf_fill_atomic64(self, BPF_OR | BPF_FETCH); in bpf_fill_atomic64_or_fetch()
1890 return __bpf_fill_atomic32(self, BPF_OR | BPF_FETCH); in bpf_fill_atomic32_or_fetch()
1987 !(op & BPF_FETCH))) in __bpf_fill_atomic_reg_pairs()
1991 else if (op & BPF_FETCH) in __bpf_fill_atomic_reg_pairs()
2009 !(rd == rs && (op & BPF_FETCH))) { in __bpf_fill_atomic_reg_pairs()
9037 { { 0, (op) & BPF_FETCH ? old : update } }, \
12076 (op) & BPF_FETCH ? 1 : 0), \
[all …]
/linux-6.15/arch/powerpc/net/
H A Dbpf_jit_comp64.c870 if ((imm & BPF_FETCH) && IS_ENABLED(CONFIG_SMP)) in bpf_jit_build_body()
880 if (imm & BPF_FETCH) in bpf_jit_build_body()
885 case BPF_ADD | BPF_FETCH: in bpf_jit_build_body()
889 case BPF_AND | BPF_FETCH: in bpf_jit_build_body()
893 case BPF_OR | BPF_FETCH: in bpf_jit_build_body()
897 case BPF_XOR | BPF_FETCH: in bpf_jit_build_body()
933 if (imm & BPF_FETCH) { in bpf_jit_build_body()
H A Dbpf_jit_comp32.c915 if ((imm & BPF_FETCH) && IS_ENABLED(CONFIG_SMP)) in bpf_jit_build_body()
922 if (imm & BPF_FETCH) in bpf_jit_build_body()
927 case BPF_ADD | BPF_FETCH: in bpf_jit_build_body()
931 case BPF_AND | BPF_FETCH: in bpf_jit_build_body()
935 case BPF_OR | BPF_FETCH: in bpf_jit_build_body()
939 case BPF_XOR | BPF_FETCH: in bpf_jit_build_body()
969 if (imm & BPF_FETCH) { in bpf_jit_build_body()
/linux-6.15/Documentation/bpf/
H A Dclang-notes.rst34 Clang can generate is ``BPF_ADD`` *without* ``BPF_FETCH``. If you need to enable
/linux-6.15/arch/arm64/net/
H A Dbpf_jit_comp.c766 case BPF_ADD | BPF_FETCH: in emit_lse_atomic()
769 case BPF_AND | BPF_FETCH: in emit_lse_atomic()
773 case BPF_OR | BPF_FETCH: in emit_lse_atomic()
776 case BPF_XOR | BPF_FETCH: in emit_lse_atomic()
843 } else if (imm == (BPF_ADD | BPF_FETCH) || in emit_ll_sc_atomic()
844 imm == (BPF_AND | BPF_FETCH) || in emit_ll_sc_atomic()
845 imm == (BPF_OR | BPF_FETCH) || in emit_ll_sc_atomic()
846 imm == (BPF_XOR | BPF_FETCH)) { in emit_ll_sc_atomic()
852 if (imm == (BPF_ADD | BPF_FETCH)) in emit_ll_sc_atomic()
854 else if (imm == (BPF_AND | BPF_FETCH)) in emit_ll_sc_atomic()
[all …]
/linux-6.15/arch/x86/net/
H A Dbpf_jit_comp.c1276 case BPF_ADD | BPF_FETCH: in emit_atomic_rmw()
1327 case BPF_ADD | BPF_FETCH: in emit_atomic_rmw_index()
2224 if (insn->imm == (BPF_AND | BPF_FETCH) || in do_jit()
2225 insn->imm == (BPF_OR | BPF_FETCH) || in do_jit()
2226 insn->imm == (BPF_XOR | BPF_FETCH)) { in do_jit()
3909 if (insn->imm == (BPF_AND | BPF_FETCH) || in bpf_jit_supports_insn()
3910 insn->imm == (BPF_OR | BPF_FETCH) || in bpf_jit_supports_insn()
3911 insn->imm == (BPF_XOR | BPF_FETCH)) in bpf_jit_supports_insn()
/linux-6.15/arch/loongarch/net/
H A Dbpf_jit.c327 case BPF_ADD | BPF_FETCH: in emit_atomic()
335 case BPF_AND | BPF_FETCH: in emit_atomic()
343 case BPF_OR | BPF_FETCH: in emit_atomic()
351 case BPF_XOR | BPF_FETCH: in emit_atomic()
/linux-6.15/arch/s390/net/
H A Dbpf_jit_comp.c1580 (insn->imm & BPF_FETCH) ? src_reg : REG_W0, \ in bpf_jit_insn()
1585 if (insn->imm & BPF_FETCH) { \ in bpf_jit_insn()
1593 case BPF_ADD | BPF_FETCH: in bpf_jit_insn()
1598 case BPF_AND | BPF_FETCH: in bpf_jit_insn()
1603 case BPF_OR | BPF_FETCH: in bpf_jit_insn()
1608 case BPF_XOR | BPF_FETCH: in bpf_jit_insn()
/linux-6.15/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-6.15/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-6.15/arch/riscv/net/
H A Dbpf_jit_comp64.c511 case BPF_ADD | BPF_FETCH: in emit_atomic()
517 case BPF_AND | BPF_FETCH: in emit_atomic()
523 case BPF_OR | BPF_FETCH: in emit_atomic()
529 case BPF_XOR | BPF_FETCH: in emit_atomic()