Hi DPDK Community. This is an updated patchset for ARMv8 that now sits on top of the previously submitted ARMv7 code by RehiveTech. It re-uses a lot of that code, and splits some header files into 32-bit and 64-bit versions, so uses the same arm include directory.
Tested on an XGene 64-bit arm server board, with PCI slots. Passes traffic between two physical ports on an Intel 82599 dual-port 10Gig NIC. Should work with many other NICS, but these are as yet untested. Compiles igb_uio, kni and all the physical device PMDs. ACL and LPM are disabled due to compilation issues. Note added to the Release notes. David Hunt (5): eal/arm: split arm rte_memcpy.h into 32 and 64 bit versions. eal/arm: split arm rte_prefetch.h into 32 and 64 bit versions eal/arm: fix 64-bit compilation for armv8 mk: Add makefile support for armv8 architecture test: add test for cpu flags on armv8 MAINTAINERS | 3 +- app/test/test_cpuflags.c | 13 +- config/defconfig_arm64-armv8a-linuxapp-gcc | 56 ++++ doc/guides/rel_notes/release_2_2.rst | 7 +- .../common/include/arch/arm/rte_cpuflags.h | 9 + .../common/include/arch/arm/rte_memcpy.h | 302 +------------------ .../common/include/arch/arm/rte_memcpy_32.h | 334 +++++++++++++++++++++ .../common/include/arch/arm/rte_memcpy_64.h | 322 ++++++++++++++++++++ .../common/include/arch/arm/rte_prefetch.h | 31 +- .../common/include/arch/arm/rte_prefetch_32.h | 61 ++++ .../common/include/arch/arm/rte_prefetch_64.h | 61 ++++ mk/arch/arm64/rte.vars.mk | 58 ++++ mk/machine/armv8a/rte.vars.mk | 57 ++++ 13 files changed, 986 insertions(+), 328 deletions(-) create mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h create mode 100644 mk/arch/arm64/rte.vars.mk create mode 100644 mk/machine/armv8a/rte.vars.mk -- 1.9.1