[GIT PULL] VFIO updates for v6.9-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi Linus,

The following changes since commit b401b621758e46812da61fa58a67c3fd8d91de0d:

  Linux 6.8-rc5 (2024-02-18 12:56:25 -0800)

are available in the Git repository at:

  https://github.com/awilliam/linux-vfio.git tags/vfio-v6.9-rc1

for you to fetch changes up to 7447d911af699a15f8d050dfcb7c680a86f87012:

  vfio/fsl-mc: Block calling interrupt handler without trigger (2024-03-11 13:08:52 -0600)

A couple minor additional notes, first you'll see a trivial conflict in
MAINTAINERS as reported and properly resolved by Stephen here:


Second, just for awareness, this includes a merge from the kvmarm tree
for a dependency on the new vma VM_ALLOW_ANY_UNCACHED flag which is
further described in Oliver's merge (and of course the individual



VFIO updates for v6.9-rc1

 - Add warning in unlikely case that device is not captured with
   driver_override. (Kunwu Chan)

 - Error handling improvements in mlx5-vfio-pci to detect firmware
   tracking object error states, logging of firmware error syndrom,
   and releasing of firmware resources in aborted migration sequence.
   (Yishai Hadas)

 - Correct an un-alphabetized VFIO MAINTAINERS entry.
   (Alex Williamson)

 - Make the mdev_bus_type const and also make the class struct const
   for a couple of the vfio-mdev sample drivers. (Ricardo B. Marliere)

 - Addition of a new vfio-pci variant driver for the GPU of NVIDIA's
   Grace-Hopper superchip.  During initialization of the chip-to-chip
   interconnect in this hardware module, the PCI BARs of the device
   become unused in favor of a faster, coherent mechanism for exposing
   device memory.  This driver primarily changes the VFIO
   representation of the device to masquerade this coherent aperture
   to replace the physical PCI BARs for userspace drivers.  This also
   incorporates use of a new vma flag allowing KVM to use write
   combining attributes for uncached device memory.  (Ankit Agrawal)

 - Reset fixes and cleanups for the pds-vfio-pci driver.  Save and
   restore files were previously leaked if the device didn't pass
   through an error state, this is resolved and later re-fixed to
   prevent access to the now freed files.  Reset handling is also
   refactored to remove the complicated deferred reset mechanism.
   (Brett Creeley)

 - Remove some references to pl330 in the vfio-platform amba
   driver. (Geert Uytterhoeven)

 - Remove twice redundant and ugly code to unpin incidental pins
   of the zero-page. (Alex Williamson)

 - Deferred reset logic is also removed from the hisi-acc-vfio-pci
   driver as a simplification. (Shameer Kolothum)

 - Enforce that mlx5-vfio-pci devices must support PRE_COPY and
   remove resulting unnecessary code.  There is no device firmware
   that has been available publicly without this support.
   (Yishai Hadas)

 - Switch over to using the .remove_new callback for vfio-platform
   in support of the broader transition for a void remove function.
   (Uwe Kleine-König)

 - Resolve multiple issues in interrupt code for VFIO bus drivers
   that allow calling eventfd_signal() on a NULL context.  This
   also remove a potential race in INTx setup on certain hardware
   for vfio-pci, races with various mechanisms to mask INTx, and
   leaked virqfds in vfio-platform. (Alex Williamson)

Alex Williamson (10):
      MAINTAINERS: Re-alphabetize VFIO
      Merge branch 'kvm-arm64/vfio-normal-nc' of https://git.kernel.org/pub/scm/linux/kernel/git/oupton/linux into v6.9/vfio/next
      Revert "vfio/type1: Unpin zero pages"
      vfio/pci: Disable auto-enable of exclusive INTx IRQ
      vfio/pci: Lock external INTx masking ops
      vfio: Introduce interface to flush virqfd inject workqueue
      vfio/pci: Create persistent INTx handler
      vfio/platform: Disable virqfds on cleanup
      vfio/platform: Create persistent IRQ handlers
      vfio/fsl-mc: Block calling interrupt handler without trigger

Ankit Agrawal (8):
      vfio/pci: rename and export do_io_rw()
      vfio/pci: rename and export range_intersect_range
      vfio/nvgrace-gpu: Add vfio pci variant module for grace hopper
      KVM: arm64: Introduce new flag for non-cacheable IO memory
      mm: Introduce new flag to indicate wc safe
      KVM: arm64: Set io memory s2 pte as normalnc for vfio pci device
      vfio: Convey kvm that the vfio-pci device is wc safe
      vfio/nvgrace-gpu: Convey kvm to map device memory region as noncached

Brett Creeley (3):
      vfio/pds: Always clear the save/restore FDs on reset
      vfio/pds: Make sure migration file isn't accessed after reset
      vfio/pds: Refactor/simplify reset logic

Geert Uytterhoeven (1):
      vfio: amba: Rename pl330_ids[] to vfio_amba_ids[]

Kunwu Chan (1):
      vfio/pci: WARN_ON driver_override kasprintf failure

Ricardo B. Marliere (3):
      vfio: mdev: make mdev_bus_type const
      vfio/mdpy: make mdpy_class constant
      vfio/mbochs: make mbochs_class constant

Shameer Kolothum (1):
      hisi_acc_vfio_pci: Remove the deferred_reset logic

Uwe Kleine-König (1):
      vfio/platform: Convert to platform remove callback returning void

Yishai Hadas (6):
      net/mlx5: Add the IFC related bits for query tracker
      vfio/mlx5: Add support for tracker object change event
      vfio/mlx5: Handle the EREMOTEIO error upon the SAVE command
      vfio/mlx5: Block incremental query upon migf state error
      vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING
      vfio/mlx5: Enforce PRE_COPY support

 MAINTAINERS                                    |  16 +-
 arch/arm64/include/asm/kvm_pgtable.h           |   2 +
 arch/arm64/include/asm/memory.h                |   2 +
 arch/arm64/kvm/hyp/pgtable.c                   |  24 +-
 arch/arm64/kvm/mmu.c                           |  14 +-
 drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c         |   7 +-
 drivers/vfio/mdev/mdev_driver.c                |   2 +-
 drivers/vfio/mdev/mdev_private.h               |   2 +-
 drivers/vfio/pci/Kconfig                       |   2 +
 drivers/vfio/pci/Makefile                      |   2 +
 drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c |  48 +-
 drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.h |   6 +-
 drivers/vfio/pci/mlx5/cmd.c                    | 157 ++++-
 drivers/vfio/pci/mlx5/cmd.h                    |  11 +-
 drivers/vfio/pci/mlx5/main.c                   | 148 ++---
 drivers/vfio/pci/nvgrace-gpu/Kconfig           |  10 +
 drivers/vfio/pci/nvgrace-gpu/Makefile          |   3 +
 drivers/vfio/pci/nvgrace-gpu/main.c            | 888 +++++++++++++++++++++++++
 drivers/vfio/pci/pds/dirty.c                   |   6 +-
 drivers/vfio/pci/pds/lm.c                      |  13 +
 drivers/vfio/pci/pds/lm.h                      |   1 +
 drivers/vfio/pci/pds/pci_drv.c                 |  27 +-
 drivers/vfio/pci/pds/vfio_dev.c                |  45 +-
 drivers/vfio/pci/pds/vfio_dev.h                |   8 +-
 drivers/vfio/pci/vfio_pci_config.c             |  42 ++
 drivers/vfio/pci/vfio_pci_core.c               |  20 +-
 drivers/vfio/pci/vfio_pci_intrs.c              | 176 +++--
 drivers/vfio/pci/vfio_pci_rdwr.c               |  16 +-
 drivers/vfio/pci/virtio/main.c                 |  72 +-
 drivers/vfio/platform/vfio_amba.c              |   6 +-
 drivers/vfio/platform/vfio_platform.c          |   5 +-
 drivers/vfio/platform/vfio_platform_irq.c      | 105 ++-
 drivers/vfio/vfio_iommu_type1.c                |  12 -
 drivers/vfio/virqfd.c                          |  21 +
 include/linux/mlx5/mlx5_ifc.h                  |   5 +
 include/linux/mm.h                             |  14 +
 include/linux/vfio.h                           |   2 +
 include/linux/vfio_pci_core.h                  |  10 +-
 samples/vfio-mdev/mbochs.c                     |  18 +-
 samples/vfio-mdev/mdpy.c                       |  18 +-
 40 files changed, 1524 insertions(+), 462 deletions(-)
 create mode 100644 drivers/vfio/pci/nvgrace-gpu/Kconfig
 create mode 100644 drivers/vfio/pci/nvgrace-gpu/Makefile
 create mode 100644 drivers/vfio/pci/nvgrace-gpu/main.c

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux