On Sun, 2015-11-22 at 15:06 +0200, Marcel Apfelbaum wrote:
I tried to generate a DMAR table that excludes some devices from
IOMMU translation, however it does not help.
The reason is, as far as I understand, that Linux kernel does
not allow any device being outside an IOMMU scope if the
iommu kernel option is activated.
Does anybody know if it is "by design" or is simply an uncommon
configuration?
(some devices in an IOMMU scope, while others outside *any* IOMMU
scope)
That's a kernel bug in the way it handles per-device DMA operations. Or
more to the point, in the way it doesn't â the non-translated devices
end up being pointed to the intel_dma_ops despite the fact they
shouldn't be. I'm working on that...