Merge tag 'vfio-v5.7-rc1' of git://github.com/awilliam/linux-vfio
Pull VFIO updates from Alex Williamson: - vfio-pci SR-IOV support (Alex Williamson) - vfio DMA read/write interface (Yan Zhao) - Fix vfio-platform erroneous IRQ error log (Eric Auger) - Fix shared ATSD support for NVLink on POWER (Sam Bobroff) - Fix init error without CONFIG_IOMMU_DMA (Andre Przywara) * tag 'vfio-v5.7-rc1' of git://github.com/awilliam/linux-vfio: vfio: Ignore -ENODEV when getting MSI cookie vfio-pci/nvlink2: Allow fallback to ibm,mmio-atsd[0] vfio/pci: Cleanup .probe() exit paths vfio/pci: Remove dev_fmt definition vfio/pci: Add sriov_configure support vfio: Introduce VFIO_DEVICE_FEATURE ioctl and first user vfio/pci: Introduce VF token vfio/pci: Implement match ops vfio: Include optional device match in vfio_device_ops callbacks vfio: avoid inefficient operations on VFIO group in vfio_pin/unpin_pages vfio: introduce vfio_dma_rw to read/write a range of IOVAs vfio: allow external user to get vfio group from device vfio: platform: Switch to platform_get_irq_optional()
This commit is contained in:
@@ -707,6 +707,43 @@ struct vfio_device_ioeventfd {
|
||||
|
||||
#define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_FEATURE - _IORW(VFIO_TYPE, VFIO_BASE + 17,
|
||||
* struct vfio_device_feature)
|
||||
*
|
||||
* Get, set, or probe feature data of the device. The feature is selected
|
||||
* using the FEATURE_MASK portion of the flags field. Support for a feature
|
||||
* can be probed by setting both the FEATURE_MASK and PROBE bits. A probe
|
||||
* may optionally include the GET and/or SET bits to determine read vs write
|
||||
* access of the feature respectively. Probing a feature will return success
|
||||
* if the feature is supported and all of the optionally indicated GET/SET
|
||||
* methods are supported. The format of the data portion of the structure is
|
||||
* specific to the given feature. The data portion is not required for
|
||||
* probing. GET and SET are mutually exclusive, except for use with PROBE.
|
||||
*
|
||||
* Return 0 on success, -errno on failure.
|
||||
*/
|
||||
struct vfio_device_feature {
|
||||
__u32 argsz;
|
||||
__u32 flags;
|
||||
#define VFIO_DEVICE_FEATURE_MASK (0xffff) /* 16-bit feature index */
|
||||
#define VFIO_DEVICE_FEATURE_GET (1 << 16) /* Get feature into data[] */
|
||||
#define VFIO_DEVICE_FEATURE_SET (1 << 17) /* Set feature from data[] */
|
||||
#define VFIO_DEVICE_FEATURE_PROBE (1 << 18) /* Probe feature support */
|
||||
__u8 data[];
|
||||
};
|
||||
|
||||
#define VFIO_DEVICE_FEATURE _IO(VFIO_TYPE, VFIO_BASE + 17)
|
||||
|
||||
/*
|
||||
* Provide support for setting a PCI VF Token, which is used as a shared
|
||||
* secret between PF and VF drivers. This feature may only be set on a
|
||||
* PCI SR-IOV PF when SR-IOV is enabled on the PF and there are no existing
|
||||
* open VFs. Data provided when setting this feature is a 16-byte array
|
||||
* (__u8 b[16]), representing a UUID.
|
||||
*/
|
||||
#define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0)
|
||||
|
||||
/* -------- API for Type1 VFIO IOMMU -------- */
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user