diff options
author | Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> | 2016-03-18 18:23:56 +0000 |
---|---|---|
committer | Zoltan Kiss <zoltan.kiss@linaro.org> | 2016-03-18 18:23:56 +0000 |
commit | 16fe86ae0d3b3f4011ab24f0666256ee7a7cb802 (patch) | |
tree | 3196c12bde1229cd74a0673ab3d67cf93acc2082 | |
parent | ca6fd4f063ce02945ba2283bc753465524b898a2 (diff) |
linux-dpdk: std_lib: dpdk_memcpy definition for arm/arm64v1.7.0.0_DPDK_2.2.0
DPDK for arm/arm64 uses a #define for the rte_memcpy, which is not suitable
to get as a function pointer. For those platforms, wrap it in a static function
and pass its address as dpdk_memcpy.
Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
-rw-r--r-- | platform/linux-dpdk/odp_std_clib.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/platform/linux-dpdk/odp_std_clib.c b/platform/linux-dpdk/odp_std_clib.c index 8838f7870..95424af89 100644 --- a/platform/linux-dpdk/odp_std_clib.c +++ b/platform/linux-dpdk/odp_std_clib.c @@ -10,7 +10,16 @@ extern "C" { #include <rte_memcpy.h> +#if defined(__arm__) || defined(__aarch64__) +static void *_rte_memcpy(void *dst, const void *src, size_t n) +{ + return rte_memcpy(dst, src, n); +} + +void* (*const dpdk_memcpy)(void*, const void*, size_t) = &_rte_memcpy; +#else void* (*const dpdk_memcpy)(void*, const void*, size_t) = &rte_memcpy; +#endif #ifdef __cplusplus } |