Test and enable PCIe AtomicOp completer support of various widths and report via device-info capability to userspace.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -240,6 +240,20 @@ struct vfio_device_info { · 239 unmodified lines | |||
| 240 | #define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3 | 240 | #define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3 |
| 241 | #define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4 | 241 | #define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4 |
| 242 | 242 | ||
| 243 | /* | ||
| 244 | * The following VFIO_DEVICE_INFO capability reports support for PCIe AtomicOp | ||
| 245 | * completion to the root bus with supported widths provided via flags. | ||
| 246 | */ | ||
| 247 | #define VFIO_DEVICE_INFO_CAP_PCI_ATOMIC_COMP 5 | ||
| 248 | struct vfio_device_info_cap_pci_atomic_comp { | ||
| 249 | struct vfio_info_cap_header header; | ||
| 250 | __u32 flags; | ||
| 251 | #define VFIO_PCI_ATOMIC_COMP32 (1 << 0) | ||
| 252 | #define VFIO_PCI_ATOMIC_COMP64 (1 << 1) | ||
| 253 | #define VFIO_PCI_ATOMIC_COMP128 (1 << 2) | ||
| 254 | __u32 reserved; | ||
| 255 | }; | ||
| 256 | |||
| 243 | /** | 257 | /** |
| 244 | * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8, | 258 | * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8, |
| 245 | * struct vfio_region_info) | 259 | * struct vfio_region_info) |