diff options
Diffstat (limited to 'include/uapi/linux/vfio.h')
-rw-r--r-- | include/uapi/linux/vfio.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h index 916e444e6f74..0fd47f5bc146 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h | |||
@@ -324,6 +324,44 @@ enum { | |||
324 | VFIO_PCI_NUM_IRQS | 324 | VFIO_PCI_NUM_IRQS |
325 | }; | 325 | }; |
326 | 326 | ||
327 | /** | ||
328 | * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12, | ||
329 | * struct vfio_pci_hot_reset_info) | ||
330 | * | ||
331 | * Return: 0 on success, -errno on failure: | ||
332 | * -enospc = insufficient buffer, -enodev = unsupported for device. | ||
333 | */ | ||
334 | struct vfio_pci_dependent_device { | ||
335 | __u32 group_id; | ||
336 | __u16 segment; | ||
337 | __u8 bus; | ||
338 | __u8 devfn; /* Use PCI_SLOT/PCI_FUNC */ | ||
339 | }; | ||
340 | |||
341 | struct vfio_pci_hot_reset_info { | ||
342 | __u32 argsz; | ||
343 | __u32 flags; | ||
344 | __u32 count; | ||
345 | struct vfio_pci_dependent_device devices[]; | ||
346 | }; | ||
347 | |||
348 | #define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) | ||
349 | |||
350 | /** | ||
351 | * VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13, | ||
352 | * struct vfio_pci_hot_reset) | ||
353 | * | ||
354 | * Return: 0 on success, -errno on failure. | ||
355 | */ | ||
356 | struct vfio_pci_hot_reset { | ||
357 | __u32 argsz; | ||
358 | __u32 flags; | ||
359 | __u32 count; | ||
360 | __s32 group_fds[]; | ||
361 | }; | ||
362 | |||
363 | #define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13) | ||
364 | |||
327 | /* -------- API for Type1 VFIO IOMMU -------- */ | 365 | /* -------- API for Type1 VFIO IOMMU -------- */ |
328 | 366 | ||
329 | /** | 367 | /** |