iommu/vt-d: Exclude devices using RMRRs from IOMMU API domains
authorAlex Williamson <alex.williamson@redhat.com>
Thu, 3 Jul 2014 15:57:02 +0000 (09:57 -0600)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 13 Sep 2014 22:41:40 +0000 (23:41 +0100)
commitcb3a065739fa2475bba21f9bbcc1b163cfff1693
treeb1d7a5eaf0121004102ef01649f3c2d57cfe67f2
parent03ee4d696643e1bc3524c84548bb237def31c1a8
iommu/vt-d: Exclude devices using RMRRs from IOMMU API domains

commit c875d2c1b8083cd627ea0463e20bf22c2d7421ee upstream.

The user of the IOMMU API domain expects to have full control of
the IOVA space for the domain.  RMRRs are fundamentally incompatible
with that idea.  We can neither map the RMRR into the IOMMU API
domain, nor can we guarantee that the device won't continue DMA with
the area described by the RMRR as part of the new domain.  Therefore
we must prevent such devices from being used by the IOMMU API.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
[bwh: Backported to 3.2: driver only operates on PCI devices]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/iommu/intel-iommu.c