vfio: support no-IOMMU mode
authorAnatoly Burakov <anatoly.burakov@intel.com>
Thu, 28 Jan 2016 11:57:54 +0000 (11:57 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 28 Jan 2016 16:56:05 +0000 (17:56 +0100)
commite61512e4066740847ced4a85ee9c3334b511468f
tree98b969a206483886f8710ca40c544e0c53f50028
parent2593612db0c7517b21a1bed9311718e7e76c58fe
vfio: support no-IOMMU mode

This commit is adding a generic mechanism to support multiple IOMMU
types. For now, it's only type 1 (x86 IOMMU) and no-IOMMU (a special
VFIO mode that doesn't use IOMMU at all), but it's easily extended
by adding necessary definitions to eal_vfio.h, and DMA mapping
functions to eal_pci_vfio.c.

Since type 1 IOMMU module is no longer necessary to have VFIO,
we fix the module check to check for vfio-pci instead. It's not
ideal and triggers VFIO checks more often (and thus produces more
error output, which was the reason behind the module check in the
first place), so we compensate for that by providing more verbose
logging, indicating whether VFIO initialization has succeeded or
failed.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Santosh Shukla <sshukla@mvista.com>
Tested-by: Santosh Shukla <sshukla@mvista.com>
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
lib/librte_eal/linuxapp/eal/eal_vfio.h