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

Message ID 1501780785-22677-1-git-send-email-john.mcnamara@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

John McNamara Aug. 3, 2017, 5:19 p.m. UTC
  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@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(+)
  

Comments

Thomas Monjalon Aug. 3, 2017, 11:21 p.m. UTC | #1
03/08/2017 19:19, John McNamara:
> 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@intel.com>

Applied, thanks
  

Patch

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
 -----------------------