From 7547be1efc1e19558b489be5dc79822b23bd2a36 Mon Sep 17 00:00:00 2001 From: Sergio Gonzalez Monroy Date: Mon, 15 Dec 2014 10:32:43 +0000 Subject: [PATCH] doc: add known issue for iommu and igb_uio Known issue regarding iommu/VT-d and igb_uio in Linux kernel version 3.15 to 3.17 where unbinding the device from the driver removes the 1:1 mapping in the iommu resulting in IOMMU/DMAR errors when the device tries to access memory. Signed-off-by: Sergio Gonzalez Monroy Acked-by: Bernard Iremonger --- doc/guides/rel_notes/known_issues.rst | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst index 12a1876cfc..6c81fcff3d 100644 --- a/doc/guides/rel_notes/known_issues.rst +++ b/doc/guides/rel_notes/known_issues.rst @@ -777,3 +777,35 @@ 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 `_, | +| | solved in Linux `kernel 3.18 commit `_. | ++--------------------------------+--------------------------------------------------------------------------------------+ +| Implication | | Devices will not be allowed to access memory, resulting in following kernel errors:| +| | | ``dmar: DRHD: handling fault status reg 2`` | +| | | ``dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr a0c58000`` | +| | | ``DMAR:[fault reason 02] Present bit in context entry is clear`` | ++--------------------------------+--------------------------------------------------------------------------------------+ +| 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 | ++--------------------------------+--------------------------------------------------------------------------------------+ -- 2.20.1