diff options
Diffstat (limited to 'include/linux/vfio.h')
-rw-r--r-- | include/linux/vfio.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/vfio.h b/include/linux/vfio.h index 15ff0421b423..0e5201f207d3 100644 --- a/include/linux/vfio.h +++ b/include/linux/vfio.h @@ -81,6 +81,7 @@ struct vfio_iommu_driver_ops { int (*unpin_pages)(void *iommu_data, unsigned long *user_pfn, int npage); int (*register_notifier)(void *iommu_data, + unsigned long *events, struct notifier_block *nb); int (*unregister_notifier)(void *iommu_data, struct notifier_block *nb); @@ -107,12 +108,20 @@ extern int vfio_pin_pages(struct device *dev, unsigned long *user_pfn, extern int vfio_unpin_pages(struct device *dev, unsigned long *user_pfn, int npage); -#define VFIO_IOMMU_NOTIFY_DMA_UNMAP (1) +/* each type has independent events */ +enum vfio_notify_type { + VFIO_IOMMU_NOTIFY = 0, +}; + +/* events for VFIO_IOMMU_NOTIFY */ +#define VFIO_IOMMU_NOTIFY_DMA_UNMAP BIT(0) extern int vfio_register_notifier(struct device *dev, + enum vfio_notify_type type, + unsigned long *required_events, struct notifier_block *nb); - extern int vfio_unregister_notifier(struct device *dev, + enum vfio_notify_type type, struct notifier_block *nb); /* |