xenvirt: convert to use of PMD_REGISTER_DRIVER and fix linking
Convert the xenvirt driver to use the PMD_REGISTER_DRIVER macro. This means that the test applications now have no reference to the xenvirt library when building DSO's and must specify its use on the command line with the -d option. Static linking will still initalize the driver automatically. A few notes: xenvirt was unbuildable as of commit 4c39baf297d10c217e7d3e7370f26a1fede58308.. That commit neglected to include the rte_vdev.h header, so several structs were left undefined. This patch includes a fix for that as well. Also, The linkage for xenvirt is broken in much the same way pmd_ring was, in that the xenvirt pmd has a function that is called directly from applications (the example being the testpmd application). The function is rte_mempool_gntalloc_create, and should clearly be moved into the rte_mempool library, with the supporting code in the function implementation moved to a new xenvirt library separate from the pmd. This is a large undertaking that detracts from the purpose of this series however, and so for now, I'm leaving the linkage to the application in place, and will address this issue in a later series Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
parent
61934c0956
commit
2c62588a53
@ -53,6 +53,7 @@
|
||||
#include <rte_malloc.h>
|
||||
#include <rte_memcpy.h>
|
||||
#include <rte_string_fns.h>
|
||||
#include <rte_vdev.h>
|
||||
#include <cmdline_parse.h>
|
||||
#include <cmdline_parse_etheraddr.h>
|
||||
|
||||
@ -710,9 +711,4 @@ static struct rte_vdev_driver pmd_xenvirt_drv = {
|
||||
.init = rte_pmd_xenvirt_devinit,
|
||||
};
|
||||
|
||||
__attribute__((constructor))
|
||||
static void
|
||||
rte_pmd_xenvirt_init(void)
|
||||
{
|
||||
rte_eal_vdev_driver_register(&pmd_xenvirt_drv);
|
||||
}
|
||||
PMD_REGISTER_DRIVER(pmd_xenvirt_drv, PMD_VDEV);
|
||||
|
@ -158,16 +158,15 @@ ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)
|
||||
LDLIBS += -lrte_eal
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
|
||||
LDLIBS += -lrte_cmdline
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTE_LIBRTE_PMD_XENVIRT),y)
|
||||
LDLIBS += -lrte_pmd_xenvirt
|
||||
LDLIBS += -lxenstore
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
|
||||
LDLIBS += -lrte_cmdline
|
||||
endif
|
||||
|
||||
ifeq ($(RTE_BUILD_SHARED_LIB),n)
|
||||
|
||||
ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
|
||||
|
Loading…
Reference in New Issue
Block a user