On 15/11/16 13:09, Eric Auger wrote:
quoted hunk
IOMMU_RESV_NOMAP is used to tag reserved IOVAs that are not
supposed to be IOMMU mapped. IOMMU_RESV_MSI tags IOVAs
corresponding to MSIs that need to be IOMMU mapped.
IOMMU_RESV_MASK allows to check if the IOVA is reserved.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
include/linux/iommu.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 7f6ebd0..02cf565 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -32,6 +32,10 @@
#define IOMMU_NOEXEC (1 << 3)
#define IOMMU_MMIO (1 << 4) /* e.g. things like MSI doorbells */
+#define IOMMU_RESV_MASK 0x300 /* Reserved IOVA mask */
+#define IOMMU_RESV_NOMAP (1 << 8) /* IOVA that cannot be mapped */
+#define IOMMU_RESV_MSI (1 << 9) /* MSI region transparently mapped */
It feels a bit grotty encoding these in prot - NOMAP sort of fits, but
MSI really is something else entirely. On reflection I think a separate
iommu_resv_region::type field would be better, particularly as it's
something we might potentially want to expose via the sysfs entry.
Robin.
quoted hunk
+
struct iommu_ops;
struct iommu_group;
struct bus_type;