From: Igor Chauskin <igo...@amazon.com> memcpy is now mapped to rte_memcpy macro on x86 architectures.
Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK") Cc: sta...@dpdk.org Signed-off-by: Igor Chauskin <igo...@amazon.com> Reviewed-by: Michal Krawczyk <m...@semihalf.com> Reviewed-by: Artur Rojek <a...@semihalf.com> --- v4: * Add release notes v2: * Fix nested declaration of the rte_memcpy on arm64 architecture. doc/guides/rel_notes/release_21_05.rst | 7 +++++++ drivers/net/ena/base/ena_plat_dpdk.h | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/guides/rel_notes/release_21_05.rst b/doc/guides/rel_notes/release_21_05.rst index 30dec1c1d1..eb1107729a 100644 --- a/doc/guides/rel_notes/release_21_05.rst +++ b/doc/guides/rel_notes/release_21_05.rst @@ -202,6 +202,13 @@ New Features Added packed ring support for async vhost. +* **Updated Amazon ENA PMD.** + + The new driver version (v2.3.0) introduces bug fixes and improvements, + including: + + * Changed memcpy mapping to the dpdk-optimized version. + * **Added support of multiple data-units in cryptodev API.** The cryptodev library has been enhanced to allow operations on multiple diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index a1d749f83f..ae68f860a5 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -25,6 +25,7 @@ #include <rte_spinlock.h> #include <sys/time.h> +#include <rte_memcpy.h> typedef uint64_t u64; typedef uint32_t u32; @@ -62,7 +63,11 @@ typedef uint64_t dma_addr_t; #define ENA_UDELAY(x) rte_delay_us_block(x) #define ENA_TOUCH(x) ((void)(x)) -#define memcpy_toio memcpy +/* Avoid nested declaration on arm64, as it may define rte_memcpy as memcpy. */ +#if defined(RTE_ARCH_X86) +#undef memcpy +#define memcpy rte_memcpy +#endif #define wmb rte_wmb #define rmb rte_rmb #define mb rte_mb -- 2.25.1