Spdk/lib/env_dpdk
Darek Stojaczyk b3db2a65ea vfio: don't use VFIO when IOMMU is disabled
Previously we used VFIO if only the vfio-pci kernel module
was loaded, which is different from what our setup.sh script
did. On a fairly usual system configuration, setup.sh could
have bound devices to UIO, but SPDK would still try to map
memory to an (empty) DPDK VFIO container just because its fd
was available. That would fail obviously.

setup.sh checks for IOMMU presence in order to use vfio-pci
and SPDK should probably do the same. We could check the
kernel driver of each attached PCI device, but there's no
chance right now of supporting both UIO and VFIO devices
at the same time with IOMMU passthrough. That's not
a reasonable configuration anyway. To keep things simple,
we just add a single check on vtophys initialization.

Fixes #462

Change-Id: Ica653f117743be322291a1b7e37ed00e34ef5035
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/432518
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <wuzhouhui@kingsoft.com>
2018-11-12 22:24:34 +00:00
..
env_internal.h env_dpdk: track PCI devices internally for vtophys 2018-04-02 14:03:05 -04:00
env.c env: Fix spdk_ring creation and access. 2018-09-20 21:51:55 +00:00
env.mk dpdkbuild: stop building ipsec library with make 2018-10-31 21:55:37 +00:00
init.c env: add --huge-dir option 2018-11-08 23:09:34 +00:00
Makefile env: add pci_virtio.c 2017-09-26 14:28:24 -04:00
memory.c memory: lock global mem_map only when necessary 2018-10-12 16:29:30 +00:00
pci_ioat.c env: register PMDs on associated first probe 2017-03-06 12:44:34 -07:00
pci_nvme.c dpdk/pci: support DPDK 18.08 write combined PCI resources 2018-08-15 17:43:30 +00:00
pci_virtio.c dpdk/pci: support DPDK 18.08 write combined PCI resources 2018-08-15 17:43:30 +00:00
pci.c pci: fix config access return codes on BSD 2018-11-08 23:15:26 +00:00
threads.c env/dpdk: add security checks to spdk_env_get_socket_id() 2018-09-10 17:23:39 +00:00
vtophys.c vfio: don't use VFIO when IOMMU is disabled 2018-11-12 22:24:34 +00:00