• K V P, Satyanarayana's avatar
    vfio/pci: Add DVSEC PCI Extended Config Capability to user visible list. · 6467d074
    K V P, Satyanarayana authored
    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: default avatarK V P Satyanarayana <satyanarayana.k.v.p@intel.com>
    Link: https://lore.kernel.org/r/20230317082222.3355912-1-satyanarayana.k.v.p@intel.comSigned-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    6467d074
vfio_pci_config.c 53.3 KB