[PULL 00/22] vfio queue

Cédric Le Goater posted 22 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231106143653.302391-1-clg@redhat.com
Maintainers: Stefan Hajnoczi <stefanha@redhat.com>, "Denis V. Lunev" <den@openvz.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefan Weil <sw@weilnetz.de>, Richard Henderson <richard.henderson@linaro.org>, Eric Auger <eric.auger@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Peter Xu <peterx@redhat.com>, Jason Wang <jasowang@redhat.com>, Helge Deller <deller@gmx.de>, Andrey Smirnov <andrew.smirnov@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, Nicholas Piggin <npiggin@gmail.com>, "Frédéric Barrat" <fbarrat@linux.ibm.com>, "Hervé Poussineau" <hpoussin@reactos.org>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, BALATON Zoltan <balaton@eik.bme.hu>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jagannathan Raman <jag.raman@oracle.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Tony Krowiak <akrowiak@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, Alex Williamson <alex.williamson@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Fam Zheng <fam@euphon.net>, Juan Quintela <quintela@redhat.com>, Fabiano Rosas <farosas@suse.de>, Leonardo Bras <leobras@redhat.com>
There is a newer version of this series
docs/devel/index-api.rst         |   1 +
docs/devel/pci.rst               |   8 +
include/exec/memory.h            |  36 ++++-
include/hw/pci/pci.h             |  36 ++++-
include/hw/pci/pci_bus.h         |   2 +-
include/hw/vfio/vfio-common.h    |  16 +-
include/hw/vfio/vfio.h           |   7 -
include/hw/virtio/virtio-iommu.h |   7 +-
include/qemu/range.h             |  14 ++
include/qemu/reserved-region.h   |  32 ++++
include/qemu/uuid.h              |   5 +-
block/parallels-ext.c            |   2 +-
block/vdi.c                      |   2 +-
hw/alpha/typhoon.c               |   6 +-
hw/arm/smmu-common.c             |   6 +-
hw/core/qdev-properties-system.c |  11 +-
hw/hyperv/vmbus.c                |   4 +-
hw/i386/amd_iommu.c              |   6 +-
hw/i386/intel_iommu.c            |   6 +-
hw/pci-host/astro.c              |   6 +-
hw/pci-host/designware.c         |   6 +-
hw/pci-host/dino.c               |   6 +-
hw/pci-host/pnv_phb3.c           |   6 +-
hw/pci-host/pnv_phb4.c           |   6 +-
hw/pci-host/ppce500.c            |   6 +-
hw/pci-host/raven.c              |   6 +-
hw/pci-host/sabre.c              |   6 +-
hw/pci/pci.c                     |  18 ++-
hw/ppc/ppc440_pcix.c             |   6 +-
hw/ppc/spapr_pci.c               |   6 +-
hw/ppc/spapr_pci_vfio.c          | 100 +++++++++++-
hw/remote/iommu.c                |   6 +-
hw/s390x/s390-pci-bus.c          |   8 +-
hw/vfio/ap.c                     |   1 -
hw/vfio/ccw.c                    |   1 -
hw/vfio/common.c                 |  80 ++--------
hw/vfio/container.c              | 328 ++++++---------------------------------
hw/vfio/helpers.c                |   1 -
hw/vfio/pci.c                    |   2 +-
hw/vfio/spapr.c                  | 282 +++++++++++++++++++++++++++++++--
hw/virtio/virtio-iommu-pci.c     |   8 +-
hw/virtio/virtio-iommu.c         | 161 +++++++++++++++++--
migration/savevm.c               |   4 +-
system/memory.c                  |  13 ++
tests/unit/test-resv-mem.c       | 316 +++++++++++++++++++++++++++++++++++++
tests/unit/test-uuid.c           |   2 +-
util/range.c                     |  61 +++++++-
util/reserved-region.c           |  91 +++++++++++
util/uuid.c                      |   2 +-
hw/virtio/trace-events           |   1 +
tests/unit/meson.build           |   1 +
util/meson.build                 |   1 +
52 files changed, 1303 insertions(+), 452 deletions(-)
create mode 100644 docs/devel/pci.rst
delete mode 100644 include/hw/vfio/vfio.h
create mode 100644 include/qemu/reserved-region.h
create mode 100644 tests/unit/test-resv-mem.c
create mode 100644 util/reserved-region.c
[PULL 00/22] vfio queue
Posted by Cédric Le Goater 1 year ago
The following changes since commit d762bf97931b58839316b68a570eecc6143c9e3e:

  Merge tag 'pull-target-arm-20231102' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-11-03 10:04:12 +0800)

are available in the Git repository at:

  https://github.com/legoater/qemu/ tags/pull-vfio-20231106

for you to fetch changes up to a2347c60a86a7c2a227ebab186a195d16e1e3901:

  vfio/common: Move vfio_host_win_add/del into spapr.c (2023-11-06 13:23:23 +0100)

----------------------------------------------------------------
vfio queue:

* Support for non 64b IOVA space
* Introduction of a PCIIOMMUOps callback structure to ease future
  extensions
* Fix for a buffer overrun when writing the VF token
* PPC cleanups preparing ground for IOMMUFD support

----------------------------------------------------------------
Cédric Le Goater (4):
      util/uuid: Add UUID_STR_LEN definition
      vfio/pci: Fix buffer overrun when writing the VF token
      util/uuid: Remove UUID_FMT_LEN
      util/uuid: Define UUID_STR_LEN from UUID_NONE string

Eric Auger (12):
      memory: Let ReservedRegion use Range
      memory: Introduce memory_region_iommu_set_iova_ranges
      vfio: Collect container iova range info
      virtio-iommu: Rename reserved_regions into prop_resv_regions
      range: Make range_compare() public
      util/reserved-region: Add new ReservedRegion helpers
      virtio-iommu: Introduce per IOMMUDevice reserved regions
      range: Introduce range_inverse_array()
      virtio-iommu: Record whether a probe request has been issued
      virtio-iommu: Implement set_iova_ranges() callback
      virtio-iommu: Consolidate host reserved regions and property set ones
      test: Add some tests for range and resv-mem helpers

Yi Liu (1):
      hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps

Zhenzhong Duan (5):
      vfio/container: Move IBM EEH related functions into spapr_pci_vfio.c
      vfio/container: Move vfio_container_add/del_section_window into spapr.c
      vfio/container: Move spapr specific init/deinit into spapr.c
      vfio/spapr: Make vfio_spapr_create/remove_window static
      vfio/common: Move vfio_host_win_add/del into spapr.c

 docs/devel/index-api.rst         |   1 +
 docs/devel/pci.rst               |   8 +
 include/exec/memory.h            |  36 ++++-
 include/hw/pci/pci.h             |  36 ++++-
 include/hw/pci/pci_bus.h         |   2 +-
 include/hw/vfio/vfio-common.h    |  16 +-
 include/hw/vfio/vfio.h           |   7 -
 include/hw/virtio/virtio-iommu.h |   7 +-
 include/qemu/range.h             |  14 ++
 include/qemu/reserved-region.h   |  32 ++++
 include/qemu/uuid.h              |   5 +-
 block/parallels-ext.c            |   2 +-
 block/vdi.c                      |   2 +-
 hw/alpha/typhoon.c               |   6 +-
 hw/arm/smmu-common.c             |   6 +-
 hw/core/qdev-properties-system.c |  11 +-
 hw/hyperv/vmbus.c                |   4 +-
 hw/i386/amd_iommu.c              |   6 +-
 hw/i386/intel_iommu.c            |   6 +-
 hw/pci-host/astro.c              |   6 +-
 hw/pci-host/designware.c         |   6 +-
 hw/pci-host/dino.c               |   6 +-
 hw/pci-host/pnv_phb3.c           |   6 +-
 hw/pci-host/pnv_phb4.c           |   6 +-
 hw/pci-host/ppce500.c            |   6 +-
 hw/pci-host/raven.c              |   6 +-
 hw/pci-host/sabre.c              |   6 +-
 hw/pci/pci.c                     |  18 ++-
 hw/ppc/ppc440_pcix.c             |   6 +-
 hw/ppc/spapr_pci.c               |   6 +-
 hw/ppc/spapr_pci_vfio.c          | 100 +++++++++++-
 hw/remote/iommu.c                |   6 +-
 hw/s390x/s390-pci-bus.c          |   8 +-
 hw/vfio/ap.c                     |   1 -
 hw/vfio/ccw.c                    |   1 -
 hw/vfio/common.c                 |  80 ++--------
 hw/vfio/container.c              | 328 ++++++---------------------------------
 hw/vfio/helpers.c                |   1 -
 hw/vfio/pci.c                    |   2 +-
 hw/vfio/spapr.c                  | 282 +++++++++++++++++++++++++++++++--
 hw/virtio/virtio-iommu-pci.c     |   8 +-
 hw/virtio/virtio-iommu.c         | 161 +++++++++++++++++--
 migration/savevm.c               |   4 +-
 system/memory.c                  |  13 ++
 tests/unit/test-resv-mem.c       | 316 +++++++++++++++++++++++++++++++++++++
 tests/unit/test-uuid.c           |   2 +-
 util/range.c                     |  61 +++++++-
 util/reserved-region.c           |  91 +++++++++++
 util/uuid.c                      |   2 +-
 hw/virtio/trace-events           |   1 +
 tests/unit/meson.build           |   1 +
 util/meson.build                 |   1 +
 52 files changed, 1303 insertions(+), 452 deletions(-)
 create mode 100644 docs/devel/pci.rst
 delete mode 100644 include/hw/vfio/vfio.h
 create mode 100644 include/qemu/reserved-region.h
 create mode 100644 tests/unit/test-resv-mem.c
 create mode 100644 util/reserved-region.c

Re: [PULL 00/22] vfio queue
Posted by Stefan Hajnoczi 1 year ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.