Hello DPDK community, this is the third attempt to post support for ARMv7 into the DPDK. There are changes related to the LPM and ACL libraries only:
* included rte_vect.h, however, it is more a placeholder * rte_lpm.h was simplified due to the previous point * ACL now compiles as we detect whether the compiler supports SSE 4.1 Regards Jan --- You can pull the changes from https://github.com/RehiveTech/dpdk.git arm-support-v3 since commit 67b38d93c960e3a650b49dec1cd8b53c12ee3e2d: e1000: fix total byte statistics (2015-10-27 18:39:44 +0100) up to d84581e3681de076819d202b1f09f2751d28d5be: acl: handle when SSE 4.1 is unsupported (2015-10-27 20:03:24 +0100) --- Jan Viktorin (8): eal/arm: implement rdtsc by PMU or clock_gettime eal/arm: use vector memcpy only when NEON is enabled eal/arm: detect arm architecture in cpu flags eal/arm: rwlock support for ARM gcc/arm: avoid alignment errors to break build maintainers: claim responsibility for ARMv7 eal/arm: add very incomplete rte_vect acl: handle when SSE 4.1 is unsupported Vlastimil Kosar (9): mk: Introduce ARMv7 architecture eal/arm: atomic operations for ARM eal/arm: byte order operations for ARM eal/arm: cpu cycle operations for ARM eal/arm: prefetch operations for ARM eal/arm: spinlock operations for ARM (without HTM) eal/arm: vector memcpy for ARM eal/arm: cpu flag checks for ARM lpm/arm: implement rte_lpm_lookupx4 using rte_lpm_lookup_bulk for non-x86 MAINTAINERS | 4 + app/test/test_cpuflags.c | 5 + config/defconfig_arm-armv7-a-linuxapp-gcc | 74 +++++ lib/librte_acl/Makefile | 7 +- lib/librte_acl/rte_acl.c | 19 +- .../common/include/arch/arm/rte_atomic.h | 256 ++++++++++++++++ .../common/include/arch/arm/rte_byteorder.h | 148 ++++++++++ .../common/include/arch/arm/rte_cpuflags.h | 193 ++++++++++++ .../common/include/arch/arm/rte_cycles.h | 121 ++++++++ .../common/include/arch/arm/rte_memcpy.h | 325 +++++++++++++++++++++ .../common/include/arch/arm/rte_prefetch.h | 61 ++++ .../common/include/arch/arm/rte_rwlock.h | 40 +++ .../common/include/arch/arm/rte_spinlock.h | 114 ++++++++ lib/librte_eal/common/include/arch/arm/rte_vect.h | 81 +++++ lib/librte_lpm/rte_lpm.h | 24 +- mk/arch/arm/rte.vars.mk | 39 +++ mk/machine/armv7-a/rte.vars.mk | 67 +++++ mk/rte.cpuflags.mk | 6 + mk/toolchain/gcc/rte.vars.mk | 6 + 19 files changed, 1584 insertions(+), 6 deletions(-) create mode 100644 config/defconfig_arm-armv7-a-linuxapp-gcc create mode 100644 lib/librte_eal/common/include/arch/arm/rte_atomic.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_byteorder.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cpuflags.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cycles.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_rwlock.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_spinlock.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_vect.h create mode 100644 mk/arch/arm/rte.vars.mk create mode 100644 mk/machine/armv7-a/rte.vars.mk -- 2.6.1