File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 14
14
struct device ;
15
15
struct file ;
16
16
struct iommu_group ;
17
+ struct iommu_user_data ;
17
18
struct iommufd_access ;
18
19
struct iommufd_ctx ;
19
20
struct iommufd_device ;
@@ -95,9 +96,17 @@ struct iommufd_viommu {
95
96
* struct iommufd_viommu_ops - vIOMMU specific operations
96
97
* @destroy: Clean up all driver-specific parts of an iommufd_viommu. The memory
97
98
* of the vIOMMU will be free-ed by iommufd core after calling this op
99
+ * @alloc_domain_nested: Allocate a IOMMU_DOMAIN_NESTED on a vIOMMU that holds a
100
+ * nesting parent domain (IOMMU_DOMAIN_PAGING). @user_data
101
+ * must be defined in include/uapi/linux/iommufd.h.
102
+ * It must fully initialize the new iommu_domain before
103
+ * returning. Upon failure, ERR_PTR must be returned.
98
104
*/
99
105
struct iommufd_viommu_ops {
100
106
void (* destroy )(struct iommufd_viommu * viommu );
107
+ struct iommu_domain * (* alloc_domain_nested )(
108
+ struct iommufd_viommu * viommu , u32 flags ,
109
+ const struct iommu_user_data * user_data );
101
110
};
102
111
103
112
#if IS_ENABLED (CONFIG_IOMMUFD )
You can’t perform that action at this time.
0 commit comments