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 <sergio.gonzalez.monroy at intel.com>
---
v3:
Remove reference number
Add Linux commit links
v2:
Fix title uppercase
Add extra blank line to show proper indentation
v1:
Known igb_uio issue when iommu/vt-d is on
doc/guides/rel_notes/known_issues.rst | 38 +++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/doc/guides/rel_notes/known_issues.rst
b/doc/guides/rel_notes/known_issues.rst
index 8ef654a..0cfecab 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -1026,3 +1026,41 @@ 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 |
+| |
|
++================================+======================================================================================+
+| 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.
|
+| |
|
+| | Introduced in Linux `kernel 3.15 commit
<https://git.kernel.org/cgit/linux/kernel/ |
+| |
git/torvalds/linux.git/commit/drivers/iommu/
|
+| |
intel-iommu.c?id=816997d03bca9fabcee65f3481eb0297103eceb7>`_,
|
+| | solved in Linux `kernel 3.18 commit
<https://git.kernel.org/cgit/linux/kernel/git/ |
+| | torvalds/linux.git/commit/drivers/iommu/
|
+| |
intel-iommu.c?id=1196c2fb0407683c2df92d3d09f9144d42830894>`_.
|
+| |
|
++--------------------------------+--------------------------------------------------------------------------------------+
+| 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