OpenCloudOS-Kernel/arch/s390/net
Ilya Leoshkevich ba3b86b9ce s390/bpf: Implement new atomic ops
Implement BPF_AND, BPF_OR and BPF_XOR as the existing BPF_ADD. Since
the corresponding machine instructions return the old value, BPF_FETCH
happens by itself, the only additional thing that is required is
zero-extension.

There is no single instruction that implements BPF_XCHG on s390, so use
a COMPARE AND SWAP loop.

BPF_CMPXCHG, on the other hand, can be implemented by a single COMPARE
AND SWAP. Zero-extension is automatically inserted by the verifier.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210304233002.149096-1-iii@linux.ibm.com
2021-03-16 12:18:49 -07:00
..
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
bpf_jit.h bpf, s390x: remove ld_abs/ld_ind 2018-05-03 16:49:20 -07:00
bpf_jit_comp.c s390/bpf: Implement new atomic ops 2021-03-16 12:18:49 -07:00
pnet.c s390/net: convert pnetids to ascii 2019-02-21 10:34:37 -08:00