From ccf5fd6045862d0abd02e42842b41c8550a9f114 Mon Sep 17 00:00:00 2001 From: John McNamara Date: Thu, 3 Aug 2017 18:19:45 +0100 Subject: [PATCH] doc: warn about UIO not working with UEFI secure boot 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 --- doc/guides/faq/faq.rst | 7 +++++++ doc/guides/linux_gsg/linux_drivers.rst | 7 +++++++ doc/guides/linux_gsg/sys_reqs.rst | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst index 308a2873da..aa1d47d3fe 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 `. + + +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 b3525c0b29..08f7c9baaf 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -67,6 +67,13 @@ 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 0f98876d3f..eb8442c622 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -47,6 +47,13 @@ and high performance of small packets, BIOS setting changes may be needed. Consult the section on :ref:`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.20.1