Go to the documentation of this file.
14 #include <linux/types.h>
17 #define VFIO_API_VERSION 0
24 #define VFIO_TYPE1_IOMMU 1
37 #define VFIO_TYPE (';')
51 #define VFIO_GET_API_VERSION _IO(VFIO_TYPE, VFIO_BASE + 0)
60 #define VFIO_CHECK_EXTENSION _IO(VFIO_TYPE, VFIO_BASE + 1)
73 #define VFIO_SET_IOMMU _IO(VFIO_TYPE, VFIO_BASE + 2)
89 #define VFIO_GROUP_FLAGS_VIABLE (1 << 0)
90 #define VFIO_GROUP_FLAGS_CONTAINER_SET (1 << 1)
92 #define VFIO_GROUP_GET_STATUS _IO(VFIO_TYPE, VFIO_BASE + 3)
106 #define VFIO_GROUP_SET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 4)
121 #define VFIO_GROUP_UNSET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 5)
133 #define VFIO_GROUP_GET_DEVICE_FD _IO(VFIO_TYPE, VFIO_BASE + 6)
148 #define VFIO_DEVICE_FLAGS_RESET (1 << 0)
149 #define VFIO_DEVICE_FLAGS_PCI (1 << 1)
153 #define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
170 #define VFIO_REGION_INFO_FLAG_READ (1 << 0)
171 #define VFIO_REGION_INFO_FLAG_WRITE (1 << 1)
172 #define VFIO_REGION_INFO_FLAG_MMAP (1 << 2)
178 #define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8)
215 #define VFIO_IRQ_INFO_EVENTFD (1 << 0)
216 #define VFIO_IRQ_INFO_MASKABLE (1 << 1)
217 #define VFIO_IRQ_INFO_AUTOMASKED (1 << 2)
218 #define VFIO_IRQ_INFO_NORESIZE (1 << 3)
222 #define VFIO_DEVICE_GET_IRQ_INFO _IO(VFIO_TYPE, VFIO_BASE + 9)
265 #define VFIO_IRQ_SET_DATA_NONE (1 << 0)
266 #define VFIO_IRQ_SET_DATA_BOOL (1 << 1)
267 #define VFIO_IRQ_SET_DATA_EVENTFD (1 << 2)
268 #define VFIO_IRQ_SET_ACTION_MASK (1 << 3)
269 #define VFIO_IRQ_SET_ACTION_UNMASK (1 << 4)
270 #define VFIO_IRQ_SET_ACTION_TRIGGER (1 << 5)
276 #define VFIO_DEVICE_SET_IRQS _IO(VFIO_TYPE, VFIO_BASE + 10)
278 #define VFIO_IRQ_SET_DATA_TYPE_MASK (VFIO_IRQ_SET_DATA_NONE | \
279 VFIO_IRQ_SET_DATA_BOOL | \
280 VFIO_IRQ_SET_DATA_EVENTFD)
281 #define VFIO_IRQ_SET_ACTION_TYPE_MASK (VFIO_IRQ_SET_ACTION_MASK | \
282 VFIO_IRQ_SET_ACTION_UNMASK | \
283 VFIO_IRQ_SET_ACTION_TRIGGER)
289 #define VFIO_DEVICE_RESET _IO(VFIO_TYPE, VFIO_BASE + 11)
329 #define VFIO_IOMMU_INFO_PGSIZES (1 << 0)
333 #define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
344 #define VFIO_DMA_MAP_FLAG_READ (1 << 0)
345 #define VFIO_DMA_MAP_FLAG_WRITE (1 << 1)
351 #define VFIO_IOMMU_MAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 13)
366 #define VFIO_IOMMU_UNMAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 14)