[dpdk-dev,v3,16/16] vfio: change VFIO init to be extendable

Message ID 1467645411-15494-17-git-send-email-viktorin@rehivetech.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Jan Viktorin July 4, 2016, 3:16 p.m. UTC
  We can now just OR the vfio_enabled sequentially and so adding new VFIO
subsystems (vfio_platform) is possible.

Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
---
 lib/librte_eal/linuxapp/eal/eal.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
  

Patch

diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
index 606b777..3fb2188 100644
--- a/lib/librte_eal/linuxapp/eal/eal.c
+++ b/lib/librte_eal/linuxapp/eal/eal.c
@@ -705,12 +705,14 @@  rte_eal_iopl_init(void)
 #ifdef VFIO_PRESENT
 static int rte_eal_vfio_setup(void)
 {
-	if (internal_config.no_pci)
-		return 0;
+	int vfio_enabled = 0;
 
-	pci_vfio_enable();
+	if (!internal_config.no_pci) {
+		pci_vfio_enable();
+		vfio_enabled |= pci_vfio_is_enabled();
+	}
 
-	if (pci_vfio_is_enabled()) {
+	if (vfio_enabled) {
 
 		/* if we are primary process, create a thread to communicate with
 		 * secondary processes. the thread will use a socket to wait for