• Linus Torvalds's avatar
    Merge tag 'vfio-v4.6-rc1' of git://github.com/awilliam/linux-vfio · 45cb5230
    Linus Torvalds authored
    Pull VFIO updates from Alex Williamson:
     "Various enablers for assignment of Intel graphics devices and future
      support of vGPU devices (Alex Williamson).  This includes
    
       - Handling the vfio type1 interface as an API rather than a specific
         implementation, allowing multiple type1 providers.
    
       - Capability chains, similar to PCI device capabilities, that allow
         extending ioctls.  Extensions here include device specific regions
         and sparse mmap descriptions.  The former is used to expose non-PCI
         regions for IGD, including the OpRegion (particularly the Video
         BIOS Table), and read only PCI config access to the host and LPC
         bridge as drivers often depend on identifying those devices.
    
         Sparse mmaps here are used to describe the MSIx vector table, which
         vfio has always protected from mmap, but never had an API to
         explicitly define that protection.  In future vGPU support this is
         expected to allow the description of PCI BARs that may mix direct
         access and emulated access within a single region.
    
       - The ability to expose the shadow ROM as an option ROM as IGD use
         cases may rely on the ROM even though the physical device does not
         make use of a PCI option ROM BAR"
    
    * tag 'vfio-v4.6-rc1' of git://github.com/awilliam/linux-vfio:
      vfio/pci: return -EFAULT if copy_to_user fails
      vfio/pci: Expose shadow ROM as PCI option ROM
      vfio/pci: Intel IGD host and LCP bridge config space access
      vfio/pci: Intel IGD OpRegion support
      vfio/pci: Enable virtual register in PCI config space
      vfio/pci: Add infrastructure for additional device specific regions
      vfio: Define device specific region type capability
      vfio/pci: Include sparse mmap capability for MSI-X table regions
      vfio: Define sparse mmap capability for regions
      vfio: Add capability chain helpers
      vfio: Define capability chains
      vfio: If an IOMMU backend fails, keep looking
      vfio/pci: Fix unsigned comparison overflow
    45cb5230
vfio_pci.c 34.2 KB