From 5142945b3a72b523bb1ab664c4049b5168c0f7e3 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Thu, 3 Dec 2015 05:16:55 +0100 Subject: [PATCH] eal: fix build with Xen dom0 enabled There is a new function in the EAL API for internal use. It has neither a proper prefix nor a .map export: libethdev.so: undefined reference to `is_xen_dom0_supported' Fixes: 719dbebceb81 ("xen: allow determining DOM0 at runtime") Signed-off-by: Thomas Monjalon --- drivers/net/i40e/i40e_rxtx.c | 2 +- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + lib/librte_eal/common/include/rte_memory.h | 6 +++--- lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + lib/librte_ether/rte_ethdev.c | 2 +- lib/librte_mempool/rte_mempool.c | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 13abd674dc..c6a18b5dcd 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2531,7 +2531,7 @@ i40e_memzone_reserve(const char *name, uint32_t len, int socket_id) if (mz) return mz; - if (is_xen_dom0_supported()) + if (rte_xen_dom0_supported()) mz = rte_memzone_reserve_bounded(name, len, socket_id, 0, I40E_RING_BASE_ALIGN, RTE_PGSIZE_2M); else diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map index f9d4b1cf98..7a8838710f 100644 --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map @@ -134,5 +134,6 @@ DPDK_2.2 { rte_keepalive_dispatch_pings; rte_keepalive_mark_alive; rte_keepalive_register_core; + rte_xen_dom0_supported; } DPDK_2.1; diff --git a/lib/librte_eal/common/include/rte_memory.h b/lib/librte_eal/common/include/rte_memory.h index 33f5a77031..9c9e40f29b 100644 --- a/lib/librte_eal/common/include/rte_memory.h +++ b/lib/librte_eal/common/include/rte_memory.h @@ -184,7 +184,7 @@ unsigned rte_memory_get_nrank(void); #ifdef RTE_LIBRTE_XEN_DOM0 /**< Internal use only - should DOM0 memory mapping be used */ -extern int is_xen_dom0_supported(void); +extern int rte_xen_dom0_supported(void); /**< Internal use only - phys to virt mapping for xen */ phys_addr_t rte_xen_mem_phy2mch(uint32_t, const phys_addr_t); @@ -203,7 +203,7 @@ phys_addr_t rte_xen_mem_phy2mch(uint32_t, const phys_addr_t); static inline phys_addr_t rte_mem_phy2mch(uint32_t memseg_id, const phys_addr_t phy_addr) { - if (is_xen_dom0_supported()) + if (rte_xen_dom0_supported()) return rte_xen_mem_phy2mch(memseg_id, phy_addr); else return phy_addr; @@ -231,7 +231,7 @@ int rte_xen_dom0_memory_init(void); */ int rte_xen_dom0_memory_attach(void); #else -static inline int is_xen_dom0_supported(void) +static inline int rte_xen_dom0_supported(void) { return 0; } diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index 0de75cd4b0..846fd31f5a 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -98,7 +98,7 @@ #include "eal_hugepages.h" #ifdef RTE_LIBRTE_XEN_DOM0 -int is_xen_dom0_supported(void) +int rte_xen_dom0_supported(void) { return internal_config.xen_dom0_support; } diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map index 54d496e7bf..828496f3b9 100644 --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map @@ -137,5 +137,6 @@ DPDK_2.2 { rte_keepalive_dispatch_pings; rte_keepalive_mark_alive; rte_keepalive_register_core; + rte_xen_dom0_supported; } DPDK_2.1; diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 3840775587..c3eed49819 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -2605,7 +2605,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name, if (mz) return mz; - if (is_xen_dom0_supported()) + if (rte_xen_dom0_supported()) return rte_memzone_reserve_bounded(z_name, size, socket_id, 0, align, RTE_PGSIZE_2M); else diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index f53076a26b..aff5f6da1c 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -403,7 +403,7 @@ rte_mempool_create(const char *name, unsigned n, unsigned elt_size, rte_mempool_obj_ctor_t *obj_init, void *obj_init_arg, int socket_id, unsigned flags) { - if (is_xen_dom0_supported()) + if (rte_xen_dom0_supported()) return rte_dom0_mempool_create(name, n, elt_size, cache_size, private_data_size, mp_init, mp_init_arg, -- 2.20.1