[dpdk-dev] [PATCH] enicpmd: compilation error during inclusion of vfio.h

Sujith Sankar ssujith at cisco.com
Thu Nov 27 18:14:40 CET 2014


Inclusion of vfio.h was giving compilation errors if kernel version is less
than 3.6.0 and if RTE_EAL_VFIO was on in config.

Replaced inclusion of vfio.h with eal_vfio.h and replaced RTE_EAL_VFIO with
VFIO_PRESENT in enicpmd code.

Signed-off-by: Sujith Sankar <ssujith at cisco.com>
---
 lib/librte_pmd_enic/Makefile    |  1 +
 lib/librte_pmd_enic/enic_main.c | 13 +++++--------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/lib/librte_pmd_enic/Makefile b/lib/librte_pmd_enic/Makefile
index d4c2f66..befc552 100644
--- a/lib/librte_pmd_enic/Makefile
+++ b/lib/librte_pmd_enic/Makefile
@@ -39,6 +39,7 @@ LIB = librte_pmd_enic.a
 
 CFLAGS += -I$(RTE_SDK)/lib/librte_hash/ -I$(RTE_SDK)/lib/librte_pmd_enic/vnic/
 CFLAGS += -I$(RTE_SDK)/lib/librte_pmd_enic/
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal/
 CFLAGS += -O3 -Wno-deprecated
 
 VPATH += $(RTE_SDK)/lib/librte_pmd_enic/src
diff --git a/lib/librte_pmd_enic/enic_main.c b/lib/librte_pmd_enic/enic_main.c
index 4b857bb..f6f00d3 100644
--- a/lib/librte_pmd_enic/enic_main.c
+++ b/lib/librte_pmd_enic/enic_main.c
@@ -39,9 +39,6 @@
 #include <sys/mman.h>
 #include <fcntl.h>
 #include <libgen.h>
-#ifdef RTE_EAL_VFIO
-#include <linux/vfio.h>
-#endif
 
 #include <rte_pci.h>
 #include <rte_memzone.h>
@@ -631,7 +628,7 @@ int enic_enable(struct enic *enic)
 
 	vnic_dev_enable_wait(enic->vdev);
 
-#ifndef RTE_EAL_VFIO
+#ifndef VFIO_PRESENT
 	/* Register and enable error interrupt */
 	rte_intr_callback_register(&(enic->pdev->intr_handle),
 		enic_intr_handler, (void *)enic->rte_dev);
@@ -995,7 +992,7 @@ int enic_setup_finish(struct enic *enic)
 	return 0;
 }
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 static void enic_eventfd_init(struct enic *enic)
 {
 	enic->eventfd = enic->pdev->intr_handle.fd;
@@ -1033,7 +1030,7 @@ int enic_get_link_status(struct enic *enic)
 }
 
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 static int enic_create_err_intr_thread(struct enic *enic)
 {
 	pthread_attr_t intr_attr;
@@ -1111,7 +1108,7 @@ static void enic_dev_deinit(struct enic *enic)
 	if (eth_dev->data->mac_addrs)
 		rte_free(eth_dev->data->mac_addrs);
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 	enic_clear_intr_mode(enic);
 #endif
 }
@@ -1167,7 +1164,7 @@ static int enic_dev_init(struct enic *enic)
 	*/
 	enic_get_res_counts(enic);
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 	/* Set interrupt mode based on resource counts and system
 	 * capabilities
 	 */
-- 
1.9.1



More information about the dev mailing list