diff options
Diffstat (limited to 'include/uapi/linux')
| -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 | /** |
