History

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()

Linus Torvalds committed 6 years ago

Commit 2fb732b2 parents ad0bf4e f44efca8 files · +710 −32Browse files

Showing the changes to include/uapi/linux (1 of 8 files). Show all

Unified · Split

include/uapi/linux/vfio.h+37−0
@@ -707,6 +707,43 @@ struct vfio_device_ioeventfd { · 706 unmodified lines
707707
708708 #define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
709709
710+/**
711+ * VFIO_DEVICE_FEATURE - _IORW(VFIO_TYPE, VFIO_BASE + 17,
712+ * struct vfio_device_feature)
713+ *
714+ * Get, set, or probe feature data of the device. The feature is selected
715+ * using the FEATURE_MASK portion of the flags field. Support for a feature
716+ * can be probed by setting both the FEATURE_MASK and PROBE bits. A probe
717+ * may optionally include the GET and/or SET bits to determine read vs write
718+ * access of the feature respectively. Probing a feature will return success
719+ * if the feature is supported and all of the optionally indicated GET/SET
720+ * methods are supported. The format of the data portion of the structure is
721+ * specific to the given feature. The data portion is not required for
722+ * probing. GET and SET are mutually exclusive, except for use with PROBE.
723+ *
724+ * Return 0 on success, -errno on failure.
725+ */
726+struct vfio_device_feature {
727+ __u32 argsz;
728+ __u32 flags;
729+#define VFIO_DEVICE_FEATURE_MASK (0xffff) /* 16-bit feature index */
730+#define VFIO_DEVICE_FEATURE_GET (1 << 16) /* Get feature into data[] */
731+#define VFIO_DEVICE_FEATURE_SET (1 << 17) /* Set feature from data[] */
732+#define VFIO_DEVICE_FEATURE_PROBE (1 << 18) /* Probe feature support */
733+ __u8 data[];
734+};
735+
736+#define VFIO_DEVICE_FEATURE _IO(VFIO_TYPE, VFIO_BASE + 17)
737+
738+/*
739+ * Provide support for setting a PCI VF Token, which is used as a shared
740+ * secret between PF and VF drivers. This feature may only be set on a
741+ * PCI SR-IOV PF when SR-IOV is enabled on the PF and there are no existing
742+ * open VFs. Data provided when setting this feature is a 16-byte array
743+ * (__u8 b[16]), representing a UUID.
744+ */
745+#define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0)
746+
710747 /* -------- API for Type1 VFIO IOMMU -------- */
711748
712749 /**

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t