vfio: rework initialization to be extendable
authorJan Viktorin <viktorin@rehivetech.com>
Mon, 4 Jul 2016 15:16:51 +0000 (17:16 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 11 Jul 2016 11:37:12 +0000 (13:37 +0200)
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

index 606b777..3fb2188 100644 (file)
@@ -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