summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fc8b96f)
Add build infrastructure and documentation
update for arm64 JIT support.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
F: lib/librte_eal/common/include/arch/arm/*_64.h
F: lib/librte_net/net_crc_neon.h
F: lib/librte_acl/acl_run_neon.*
F: lib/librte_eal/common/include/arch/arm/*_64.h
F: lib/librte_net/net_crc_neon.h
F: lib/librte_acl/acl_run_neon.*
+F: lib/librte_bpf/bpf_jit_arm64.c
F: lib/librte_lpm/rte_lpm_neon.h
F: lib/librte_hash/rte*_arm64.h
F: lib/librte_efd/rte*_arm64.h
F: lib/librte_lpm/rte_lpm_neon.h
F: lib/librte_hash/rte*_arm64.h
F: lib/librte_efd/rte*_arm64.h
Not currently supported eBPF features
-------------------------------------
Not currently supported eBPF features
-------------------------------------
- - JIT for non X86_64 platforms
+ - JIT support only available for X86_64 and arm64 platforms
- cBPF
- tail-pointer call
- eBPF MAP
- cBPF
- tail-pointer call
- eBPF MAP
Added stateful decompression support in the Intel QuickAssist Technology PMD.
Please note that stateful compression is not supported.
Added stateful decompression support in the Intel QuickAssist Technology PMD.
Please note that stateful compression is not supported.
+* **Added eBPF JIT support for arm64.**
+
+ Added eBPF JIT support for arm64 architecture to improve the eBPF program
+ performance.
+
Removed Items
-------------
Removed Items
-------------
endif
ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
endif
ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
+else ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
+SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_arm64.c
endif
# install header files
endif
# install header files
+#if defined(RTE_ARCH_X86_64)
+#elif defined(RTE_ARCH_ARM64)
+ rc = bpf_jit_arm64(bpf);
#else
rc = -ENOTSUP;
#endif
#else
rc = -ENOTSUP;
#endif
extern int bpf_jit(struct rte_bpf *bpf);
extern int bpf_jit(struct rte_bpf *bpf);
extern int bpf_jit_x86(struct rte_bpf *);
extern int bpf_jit_x86(struct rte_bpf *);
+extern int bpf_jit_arm64(struct rte_bpf *);
extern int rte_bpf_logtype;
extern int rte_bpf_logtype;
--- /dev/null
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2019 Marvell International Ltd.
+ */
+
+#include <errno.h>
+
+#include <rte_common.h>
+
+#include "bpf_impl.h"
+/*
+ * Produce a native ISA version of the given BPF code.
+ */
+int
+bpf_jit_arm64(struct rte_bpf *bpf)
+{
+ RTE_SET_USED(bpf);
+
+ return -ENOTSUP;
+}
if arch_subdir == 'x86' and dpdk_conf.get('RTE_ARCH_64')
sources += files('bpf_jit_x86.c')
if arch_subdir == 'x86' and dpdk_conf.get('RTE_ARCH_64')
sources += files('bpf_jit_x86.c')
+elif dpdk_conf.has('RTE_ARCH_ARM64')
+ sources += files('bpf_jit_arm64.c')
endif
install_headers = files('bpf_def.h',
endif
install_headers = files('bpf_def.h',