[GIT PULL] VFIO updates for v6.8-rc1
From: Alex Williamson
Date: Fri Jan 12 2024 - 14:32:04 EST
Hi Linus,
The following changes since commit 33cc938e65a98f1d29d0a18403dbbee050dcad9a:
Linux 6.7-rc4 (2023-12-03 18:52:56 +0900)
are available in the Git repository at:
https://github.com/awilliam/linux-vfio.git tags/vfio-v6.8-rc1
for you to fetch changes up to 78f70c02bdbccb5e9b0b0c728185d4aeb7044ace:
vfio/virtio: fix virtio-pci dependency (2024-01-10 15:10:41 -0700)
----------------------------------------------------------------
VFIO updates for v6.8-rc1
- Add debugfs support, initially used for reporting device migration
state. (Longfang Liu)
- Fixes and support for migration dirty tracking across multiple IOVA
regions in the pds-vfio-pci driver. (Brett Creeley)
- Improved IOMMU allocation accounting visibility. (Pasha Tatashin)
- Virtio infrastructure and a new virtio-vfio-pci variant driver, which
provides emulation of a legacy virtio interfaces on modern virtio
hardware for virtio-net VF devices where the PF driver exposes
support for legacy admin queues, ie. an emulated IO BAR on an SR-IOV
VF to provide driver ABI compatibility to legacy devices.
(Yishai Hadas & Feng Liu)
- Migration fixes for the hisi-acc-vfio-pci variant driver.
(Shameer Kolothum)
- Kconfig dependency fix for new virtio-vfio-pci variant driver.
(Arnd Bergmann)
----------------------------------------------------------------
Alex Williamson (2):
Merge branches 'v6.8/vfio/debugfs', 'v6.8/vfio/pds' and 'v6.8/vfio/type1-account' into v6.8/vfio/next
Merge branch 'v6.8/vfio/virtio' into v6.8/vfio/next
Arnd Bergmann (1):
vfio/virtio: fix virtio-pci dependency
Brett Creeley (6):
vfio/pds: Fix calculations in pds_vfio_dirty_sync
vfio/pds: Only use a single SGL for both seq and ack
vfio/pds: Move and rename region specific info
vfio/pds: Pass region info to relevant functions
vfio/pds: Move seq/ack bitmaps into region struct
vfio/pds: Add multi-region support
Feng Liu (4):
virtio: Define feature bit for administration virtqueue
virtio-pci: Introduce admin virtqueue
virtio-pci: Introduce admin command sending function
virtio-pci: Introduce admin commands
Longfang Liu (3):
vfio/migration: Add debugfs to live migration driver
Documentation: add debugfs description for vfio
MAINTAINERS: Add vfio debugfs interface doc link
Pasha Tatashin (1):
vfio/type1: account iommu allocations
Shameer Kolothum (1):
hisi_acc_vfio_pci: Update migration data pointer correctly on saving/resume
Yishai Hadas (6):
virtio-pci: Initialize the supported admin commands
virtio-pci: Introduce APIs to execute legacy IO admin commands
vfio/pci: Expose vfio_pci_core_setup_barmap()
vfio/pci: Expose vfio_pci_core_iowrite/read##size()
vfio/virtio: Introduce a vfio driver over virtio devices
vfio/virtio: Declare virtiovf_pci_aer_reset_done() static
Documentation/ABI/testing/debugfs-vfio | 25 ++
MAINTAINERS | 8 +
drivers/vfio/Kconfig | 10 +
drivers/vfio/Makefile | 1 +
drivers/vfio/debugfs.c | 92 ++++
drivers/vfio/pci/Kconfig | 2 +
drivers/vfio/pci/Makefile | 2 +
drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 7 +-
drivers/vfio/pci/pds/dirty.c | 309 ++++++++-----
drivers/vfio/pci/pds/dirty.h | 18 +-
drivers/vfio/pci/vfio_pci_rdwr.c | 57 +--
drivers/vfio/pci/virtio/Kconfig | 15 +
drivers/vfio/pci/virtio/Makefile | 3 +
drivers/vfio/pci/virtio/main.c | 576 +++++++++++++++++++++++++
drivers/vfio/vfio.h | 14 +
drivers/vfio/vfio_iommu_type1.c | 8 +-
drivers/vfio/vfio_main.c | 4 +
drivers/virtio/Kconfig | 5 +
drivers/virtio/Makefile | 1 +
drivers/virtio/virtio.c | 37 +-
drivers/virtio/virtio_pci_admin_legacy_io.c | 244 +++++++++++
drivers/virtio/virtio_pci_common.c | 14 +
drivers/virtio/virtio_pci_common.h | 42 +-
drivers/virtio/virtio_pci_modern.c | 259 ++++++++++-
drivers/virtio/virtio_pci_modern_dev.c | 24 +-
include/linux/vfio.h | 7 +
include/linux/vfio_pci_core.h | 20 +
include/linux/virtio.h | 8 +
include/linux/virtio_config.h | 4 +
include/linux/virtio_pci_admin.h | 23 +
include/linux/virtio_pci_modern.h | 2 +
include/uapi/linux/vfio.h | 1 +
include/uapi/linux/virtio_config.h | 8 +-
include/uapi/linux/virtio_pci.h | 68 +++
34 files changed, 1754 insertions(+), 164 deletions(-)
create mode 100644 Documentation/ABI/testing/debugfs-vfio
create mode 100644 drivers/vfio/debugfs.c
create mode 100644 drivers/vfio/pci/virtio/Kconfig
create mode 100644 drivers/vfio/pci/virtio/Makefile
create mode 100644 drivers/vfio/pci/virtio/main.c
create mode 100644 drivers/virtio/virtio_pci_admin_legacy_io.c
create mode 100644 include/linux/virtio_pci_admin.h