diff mbox series

[v2,3/4] doc: add VFIO no-IOMMU Linux GSG section

Message ID 398e2cb4a37e2b29b68e2be0aa4df8c4f7d40155.1605713845.git.anatoly.burakov@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers show
Series [v2,1/4] doc: move VFIO driver to be first | expand

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Anatoly Burakov Nov. 18, 2020, 3:37 p.m. UTC
Currently, we have no documentation on how to use VFIO in no-IOMMU mode.
Add such documentation.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---

Notes:
    v2:
    - Fixed the noiommu parameter name

 doc/guides/linux_gsg/linux_drivers.rst | 28 +++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index a3f443db2c..741b17a644 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -94,9 +94,35 @@  To make use of full VFIO functionality, both kernel and BIOS must support and be
 For proper operation of VFIO when running DPDK applications as a non-privileged user, correct permissions should also be set up.
 This can be done by using the DPDK setup script (called ``dpdk-setup.sh`` and located in the usertools directory).
 
+VFIO no-IOMMU mode
+------------------
+
+If there is no IOMMU available on the system, VFIO can still be used, but it has
+to be loaded with an additional module parameter:
+
+.. code-block:: console
+
+    modprobe vfio enable_unsafe_noiommu_mode=1
+
+Alternatively, one can also enable this option in an already loaded kernel module:
+
+.. code-block:: console
+
+    echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
+
+After that, VFIO can be used with hardware devices as usual.
+
 .. note::
 
-    VFIO can be used without IOMMU. While this is unsafe, it does make it possible for the user to keep the degree of device access and programming that VFIO has, in situations where IOMMU is not available.
+    It may be required to unload all VFIO related-modules before probing the
+    module again with ``enable_unsafe_noiommu_mode=1`` parameter.
+
+.. warning::
+
+    Since no-IOMMU mode forgoes IOMMU protection, it is inherently unsafe. That
+    said, it does make it possible for the user to keep the degree of device
+    access and programming that VFIO has, in situations where IOMMU is not
+    available.
 
 UIO
 ---