|
@@ -117,18 +117,25 @@ enum iommu_attr {
|
|
|
DOMAIN_ATTR_MAX,
|
|
|
};
|
|
|
|
|
|
+/* These are the possible reserved region types */
|
|
|
+#define IOMMU_RESV_DIRECT (1 << 0)
|
|
|
+#define IOMMU_RESV_RESERVED (1 << 1)
|
|
|
+#define IOMMU_RESV_MSI (1 << 2)
|
|
|
+
|
|
|
/**
|
|
|
* struct iommu_resv_region - descriptor for a reserved memory region
|
|
|
* @list: Linked list pointers
|
|
|
* @start: System physical start address of the region
|
|
|
* @length: Length of the region in bytes
|
|
|
* @prot: IOMMU Protection flags (READ/WRITE/...)
|
|
|
+ * @type: Type of the reserved region
|
|
|
*/
|
|
|
struct iommu_resv_region {
|
|
|
struct list_head list;
|
|
|
phys_addr_t start;
|
|
|
size_t length;
|
|
|
int prot;
|
|
|
+ int type;
|
|
|
};
|
|
|
|
|
|
#ifdef CONFIG_IOMMU_API
|