diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-09 13:19:36 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-09 13:19:36 -0400 |
| commit | d75671e36e14b73d7c0d3cec49328dcd984af699 (patch) | |
| tree | 87604fe7c082b82b436f2111e47f5a366436271e /include/uapi/linux | |
| parent | bf97293eb878df3792d9de7213bd7b82135aea77 (diff) | |
| parent | dac09b57c0ff57e55dd6fa5109076c8af0468a75 (diff) | |
Merge tag 'vfio-v3.12-rc0' of git://github.com/awilliam/linux-vfio
Pull VFIO update from Alex Williamson:
"VFIO updates include safer default file flags for VFIO device fds, an
external user interface exported to allow other modules to hold
references to VFIO groups, a fix to test for extended config space on
PCIe and PCI-x, and new hot reset interfaces for PCI devices which
allows the user to do PCI bus/slot resets when all of the devices
affected by the reset are owned by the user.
For this last feature, the PCI bus reset interface, I depend on
changes already merged from Bjorn's PCI pull request. I therefore
merged my tree up to commit cb3e433, which I think was the correct
action, but as Stephen Rothwell noted, I failed to provide a commit
message indicating why the merge was required. Sorry for that.
Thanks, Alex"
* tag 'vfio-v3.12-rc0' of git://github.com/awilliam/linux-vfio:
vfio: fix documentation
vfio-pci: PCI hot reset interface
vfio-pci: Test for extended config space
vfio-pci: Use fdget() rather than eventfd_fget()
vfio: Add O_CLOEXEC flag to vfio device fd
vfio: use get_unused_fd_flags(0) instead of get_unused_fd()
vfio: add external user support
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 | /** |
