Known issue regarding iommu/VT-d and igb_uio on Linux kernel version 3.15 to 3.17 where unbinding the device from the driver removes the 1:1 mapping for the device on the iommu resulting in memory access errors. Signed-off-by: Sergio Gonzalez Monroy --- doc/guides/rel_notes/known_issues.rst | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst index 8ef654a..a8aab52 100644 --- a/doc/guides/rel_notes/known_issues.rst +++ b/doc/guides/rel_notes/known_issues.rst @@ -1026,3 +1026,37 @@ Stopping the port does not down the link on IntelĀ® 40G ethernet controller | Driver/Module | Poll Mode Driver (PMD) | | | | +--------------------------------+--------------------------------------------------------------------------------------+ + +Devices bound to igb_uio with VT-d enabled do not work on Linux* kernel 3.15-3.17 +--------------------------------------------------------------------------------- + ++--------------------------------+--------------------------------------------------------------------------------------+ +| Title | Devices bound to igb_uio with VT-d enabled do not work on Linux* kernel 3.15-3.17 | +| | | ++================================+======================================================================================+ +| Reference # | IXA00373938 | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Description | When VT-d is enabled (iommu=pt intel_iommu=on), devices are 1:1 mapped. | +| | In the Linux* kernel unbinding devices from drivers removes that mapping which | +| | result in IOMMU errors. | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Implication | Devices will not be allowed to access memory. | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Resolution/ Workaround | Use earlier or later kernel versions, or avoid driver binding on boot by | +| | blacklisting the driver modules. | +| | ie. in the case of ixgbe, we can pass the kernel command line option: | +| | | +| | modprobe.blacklist=ixgbe | +| | | +| | This way we do not need to unbind the device to bind it to igb_uio. | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Affected Environment/ Platform | Linux* systems with kernel versions 3.15 to 3.17 | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Driver/Module | igb_uio module | +| | | ++--------------------------------+--------------------------------------------------------------------------------------+ -- 1.9.3