[dpdk-dev] [PATCH v1] doc: add note about uio not working with uefi secure boot

John McNamara john.mcnamara at intel.com
Thu Aug 3 19:19:45 CEST 2017


Added notes to the documentation warning that if UEFI secure boot
is enabled the Linux kernel may disallow the use of UIO on the
system, and a suggested workaround of using the vfio-pci kernel
module instead of igb_uio or uio_pci_generic.

Signed-off-by: John McNamara <john.mcnamara at intel.com>
---
 doc/guides/faq/faq.rst                 | 7 +++++++
 doc/guides/linux_gsg/linux_drivers.rst | 8 ++++++++
 doc/guides/linux_gsg/sys_reqs.rst      | 6 ++++++
 3 files changed, 21 insertions(+)

diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
index 308a287..aa1d47d 100644
--- a/doc/guides/faq/faq.rst
+++ b/doc/guides/faq/faq.rst
@@ -222,3 +222,10 @@ How can hugepage-backed memory be shared among multiple processes?
 ------------------------------------------------------------------
 
 See the Primary and Secondary examples in the :ref:`multi-process sample application <multi_process_app>`.
+
+
+Why can't my application receive packets on my system with UEFI Secure Boot enabled?
+------------------------------------------------------------------------------------
+
+If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO on the system.
+Therefore, devices for use by DPDK should be bound to the ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index b3525c0..dfb1fbd 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -67,6 +67,14 @@ be loaded as shown below:
     For some devices which lack support for legacy interrupts, e.g. virtual function
     (VF) devices, the ``igb_uio`` module may be needed in place of ``uio_pci_generic``.
 
+.. note::
+
+   If UEFI secure boot is enabled, the Linux kernel may disallow the use of
+   UIO on the system. Therefore, devices for use by DPDK should be bound to
+   the ``vfio-pci`` kernel module rather than ``igb_uio`` or
+   ``uio_pci_generic``. For more details see :ref:`linux_gsg_binding_kernel`
+   below.
+
 Since DPDK release 1.7 onward provides VFIO support, use of UIO is optional
 for platforms that support using VFIO.
 
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 0f98876..3f697c5 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -47,6 +47,12 @@ and high performance of small packets, BIOS setting changes may be needed.
 Consult the section on :ref:`Enabling Additional Functionality <Enabling_Additional_Functionality>`
 for more information on the required changes.
 
+.. note::
+
+   If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO on the system.
+   Therefore, devices for use by DPDK should be bound to the ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
+   For more details see :ref:`linux_gsg_binding_kernel`.
+
 Compilation of the DPDK
 -----------------------
 
-- 
2.7.4



More information about the dev mailing list