linux-stable/drivers/vfio
K V P, Satyanarayana 6467d0740a vfio/pci: Add DVSEC PCI Extended Config Capability to user visible list.
The Designated Vendor-Specific Extended Capability (DVSEC Capability) is an
optional Extended Capability that is permitted to be implemented by any PCI
Express Function. This allows PCI Express component vendors to use
the Extended Capability mechanism to expose vendor-specific registers that can
be present in components by a variety of vendors. A DVSEC Capability structure
can tell vendor-specific software which features a particular component
supports.

An example usage of DVSEC is Intel Platform Monitoring Technology (PMT) for
enumerating and accessing hardware monitoring capabilities on a device.
PMT encompasses three device monitoring features, Telemetry (device metrics),
Watcher (sampling/tracing), and Crashlog. The DVSEC is used to discover these
features and provide a BAR offset to their registers with the Intel vendor code.

The current VFIO driver does not pass DVSEC capabilities to Virtual Machine (VM)
which makes PMT not to work inside the virtual machine. This series adds DVSEC
capability to user visible list to allow its use with VFIO. VFIO supports
passing of Vendor Specific Extended Capability (VSEC) and raw write access to
device. DVSEC also passed to VM in the same way as of VSEC.

Signed-off-by: K V P Satyanarayana <satyanarayana.k.v.p@intel.com>
Link: https://lore.kernel.org/r/20230317082222.3355912-1-satyanarayana.k.v.p@intel.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2023-04-14 14:03:07 -06:00
..
fsl-mc vfio/fsl-mc: Use GFP_KERNEL_ACCOUNT for userspace persistent allocations 2023-01-23 11:26:30 -07:00
mdev vfio/mdev: Use sysfs_emit() to instead of sprintf() 2023-01-30 12:16:13 -07:00
pci vfio/pci: Add DVSEC PCI Extended Config Capability to user visible list. 2023-04-14 14:03:07 -06:00
platform vfio: platform: ignore missing reset if disabled at module init 2023-02-01 12:25:41 -07:00
container.c VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
group.c VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
iommufd.c vfio: Support VFIO_NOIOMMU with iommufd 2023-02-03 15:45:23 -04:00
iova_bitmap.c vfio/iova_bitmap: refactor iova_bitmap_set() to better handle page boundaries 2022-12-02 10:09:25 -07:00
Kconfig vfio: Support VFIO_NOIOMMU with iommufd 2023-02-03 15:45:23 -04:00
Makefile VFIO updates for v6.2-rc1 2022-12-15 13:12:15 -08:00
vfio.h VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
vfio_iommu_spapr_tce.c vfio: Move vfio_spapr_iommu_eeh_ioctl into vfio_iommu_spapr_tce.c 2022-12-05 12:04:32 -07:00
vfio_iommu_type1.c VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
vfio_main.c VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
virqfd.c vfio: Use GFP_KERNEL_ACCOUNT for userspace persistent allocations 2023-01-23 11:26:29 -07:00