qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/42] vfio queue
@ 2025-03-06 14:13 Cédric Le Goater
  2025-03-06 14:13 ` [PULL 01/42] vfio: Add property documentation Cédric Le Goater
                   ` (42 more replies)
  0 siblings, 43 replies; 46+ messages in thread
From: Cédric Le Goater @ 2025-03-06 14:13 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Williamson, Cédric Le Goater

The following changes since commit e8a01102936286e012ed0f00bd7f3b7474d415c9:

  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2025-03-05 21:58:23 +0800)

are available in the Git repository at:

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

for you to fetch changes up to 59a67e70950bcc2002d3a8d22a17743e0f70da96:

  hw/core/machine: Add compat for x-migration-multifd-transfer VFIO property (2025-03-06 06:47:34 +0100)

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

* Added property documentation
* Added Minor fixes
* Implemented basic PCI PM capability backing
* Promoted new IGD maintainer
* Deprecated vfio-plaform
* Extended VFIO migration with multifd support

----------------------------------------------------------------
Alex Williamson (5):
      hw/pci: Basic support for PCI power management
      pci: Use PCI PM capability initializer
      vfio/pci: Delete local pm_cap
      pcie, virtio: Remove redundant pm_cap
      hw/vfio/pci: Re-order pre-reset

Cédric Le Goater (2):
      vfio: Add property documentation
      vfio/ccw: Replace warn_once_pfch() with warn_report_once()

Eric Auger (1):
      vfio-platform: Deprecate all forms of vfio-platform devices

Maciej S. Szmigiero (32):
      migration: Clarify that {load, save}_cleanup handlers can run without setup
      thread-pool: Remove thread_pool_submit() function
      thread-pool: Rename AIO pool functions to *_aio() and data types to *Aio
      thread-pool: Implement generic (non-AIO) pool support
      migration: Add MIG_CMD_SWITCHOVER_START and its load handler
      migration: Add qemu_loadvm_load_state_buffer() and its handler
      migration: Always take BQL for migration_incoming_state_destroy()
      error: define g_autoptr() cleanup function for the Error type
      migration: Add thread pool of optional load threads
      migration/multifd: Split packet into header and RAM data
      migration/multifd: Device state transfer support - receive side
      migration/multifd: Make multifd_send() thread safe
      migration/multifd: Add an explicit MultiFDSendData destructor
      migration/multifd: Device state transfer support - send side
      migration/multifd: Add multifd_device_state_supported()
      migration: Add save_live_complete_precopy_thread handler
      vfio/migration: Add load_device_config_state_start trace event
      vfio/migration: Convert bytes_transferred counter to atomic
      vfio/migration: Add vfio_add_bytes_transferred()
      vfio/migration: Move migration channel flags to vfio-common.h header file
      vfio/migration: Multifd device state transfer support - basic types
      vfio/migration: Multifd device state transfer - add support checking function
      vfio/migration: Multifd setup/cleanup functions and associated VFIOMultifd
      vfio/migration: Setup and cleanup multifd transfer in these general methods
      vfio/migration: Multifd device state transfer support - received buffers queuing
      vfio/migration: Multifd device state transfer support - load thread
      migration/qemu-file: Define g_autoptr() cleanup function for QEMUFile
      vfio/migration: Multifd device state transfer support - config loading support
      vfio/migration: Multifd device state transfer support - send side
      vfio/migration: Add x-migration-multifd-transfer VFIO property
      vfio/migration: Make x-migration-multifd-transfer VFIO property mutable
      hw/core/machine: Add compat for x-migration-multifd-transfer VFIO property

Peter Xu (1):
      migration/multifd: Make MultiFDSendData a struct

Tomita Moeko (1):
      MAINTAINERS: Add myself as vfio-igd maintainer

 MAINTAINERS                        |   9 +-
 docs/about/deprecated.rst          |  25 ++
 docs/devel/migration/vfio.rst      |  45 ++-
 hw/vfio/migration-multifd.h        |  34 ++
 hw/vfio/pci.h                      |   1 -
 include/block/aio.h                |   8 +-
 include/block/thread-pool.h        |  62 +++-
 include/hw/pci/pci.h               |   3 +
 include/hw/pci/pci_device.h        |   3 +
 include/hw/pci/pcie.h              |   2 -
 include/hw/vfio/vfio-common.h      |  31 ++
 include/migration/client-options.h |   4 +
 include/migration/misc.h           |  25 ++
 include/migration/register.h       |  52 ++-
 include/qapi/error.h               |   2 +
 include/qemu/typedefs.h            |   5 +
 migration/migration.h              |   7 +
 migration/multifd.h                |  74 +++-
 migration/qemu-file.h              |   2 +
 migration/savevm.h                 |   6 +-
 hw/core/machine.c                  |   2 +
 hw/net/e1000e.c                    |   3 +-
 hw/net/eepro100.c                  |   4 +-
 hw/net/igb.c                       |   3 +-
 hw/nvme/ctrl.c                     |   3 +-
 hw/pci-bridge/pcie_pci_bridge.c    |   3 +-
 hw/pci/pci.c                       |  93 ++++-
 hw/vfio/amd-xgbe.c                 |   2 +
 hw/vfio/ap.c                       |   9 +
 hw/vfio/calxeda-xgmac.c            |   2 +
 hw/vfio/ccw.c                      |  27 +-
 hw/vfio/migration-multifd.c        | 679 +++++++++++++++++++++++++++++++++++++
 hw/vfio/migration.c                | 106 ++++--
 hw/vfio/pci.c                      | 180 +++++++++-
 hw/vfio/platform.c                 |  25 ++
 hw/virtio/virtio-pci.c             |  11 +-
 migration/colo.c                   |   3 +
 migration/migration-hmp-cmds.c     |   2 +
 migration/migration.c              |  17 +-
 migration/multifd-device-state.c   | 212 ++++++++++++
 migration/multifd-nocomp.c         |  30 +-
 migration/multifd.c                | 248 +++++++++++---
 migration/options.c                |   9 +
 migration/savevm.c                 | 201 ++++++++++-
 tests/unit/test-thread-pool.c      |   6 +-
 util/async.c                       |   6 +-
 util/thread-pool.c                 | 184 ++++++++--
 hw/pci/trace-events                |   2 +
 hw/vfio/meson.build                |   1 +
 hw/vfio/trace-events               |  13 +-
 migration/meson.build              |   1 +
 migration/trace-events             |   1 +
 scripts/analyze-migration.py       |  11 +
 util/trace-events                  |   6 +-
 54 files changed, 2296 insertions(+), 209 deletions(-)
 create mode 100644 hw/vfio/migration-multifd.h
 create mode 100644 hw/vfio/migration-multifd.c
 create mode 100644 migration/multifd-device-state.c



^ permalink raw reply	[flat|nested] 46+ messages in thread
* [PULL 00/42] vfio queue
@ 2024-06-24 21:24 Cédric Le Goater
  2024-06-25 17:25 ` Richard Henderson
  0 siblings, 1 reply; 46+ messages in thread
From: Cédric Le Goater @ 2024-06-24 21:24 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Williamson, Cédric Le Goater

The following changes since commit d89b64beea65f77c21a553cb54cb97b75c53dc21:

  Merge tag 'pull-request-2024-06-24' of https://gitlab.com/thuth/qemu into staging (2024-06-24 11:57:11 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 96b7af4388b38bc1f66467a9c7c8ee9d3bff500f:

  vfio/container: Move vfio_container_destroy() to an instance_finalize() handler (2024-06-24 23:15:31 +0200)

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

* Add a host IOMMU device abstraction
* VIRTIO-IOMMU/VFIO: Fix host iommu geometry handling
* QOMify VFIOContainer

----------------------------------------------------------------
Avihai Horon (1):
      vfio/common: Extract vIOMMU code from vfio_sync_dirty_bitmap()

Cédric Le Goater (15):
      vfio: Make vfio_devices_dma_logging_start() return bool
      vfio: Remove unused declarations from vfio-common.h
      vfio/container: Introduce vfio_address_space_insert()
      vfio/container: Simplify vfio_container_init()
      vfio/container: Modify vfio_get_iommu_type() to use a container fd
      vfio/container: Introduce vfio_get_iommu_class_name()
      vfio/container: Introduce vfio_create_container()
      vfio/container: Discover IOMMU type before creating the container
      vfio/container: Change VFIOContainerBase to use QOM
      vfio/container: Switch to QOM
      vfio/container: Introduce an instance_init() handler
      vfio/container: Remove VFIOContainerBase::ops
      vfio/container: Remove vfio_container_init()
      vfio/container: Introduce vfio_iommu_legacy_instance_init()
      vfio/container: Move vfio_container_destroy() to an instance_finalize() handler

Eric Auger (8):
      HostIOMMUDevice: Store the VFIO/VDPA agent
      virtio-iommu: Implement set|unset]_iommu_device() callbacks
      HostIOMMUDevice: Introduce get_iova_ranges callback
      HostIOMMUDevice: Store the aliased bus and devfn
      virtio-iommu: Compute host reserved regions
      virtio-iommu: Remove the implementation of iommu_set_iova_range
      hw/vfio: Remove memory_region_iommu_set_iova_ranges() call
      memory: Remove IOMMU MR iommu_set_iova_range API

Joao Martins (1):
      vfio/common: Move dirty tracking ranges update to helper

Yi Liu (2):
      hw/pci: Introduce pci_device_[set|unset]_iommu_device()
      intel_iommu: Implement [set|unset]_iommu_device() callbacks

Zhenzhong Duan (15):
      backends: Introduce HostIOMMUDevice abstract
      backends/host_iommu_device: Introduce HostIOMMUDeviceCaps
      vfio/container: Introduce TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO device
      backends/iommufd: Introduce TYPE_HOST_IOMMU_DEVICE_IOMMUFD[_VFIO] devices
      range: Introduce range_get_last_bit()
      vfio/container: Implement HostIOMMUDeviceClass::realize() handler
      backends/iommufd: Introduce helper function iommufd_backend_get_device_info()
      vfio/iommufd: Implement HostIOMMUDeviceClass::realize() handler
      vfio/container: Implement HostIOMMUDeviceClass::get_cap() handler
      backends/iommufd: Implement HostIOMMUDeviceClass::get_cap() handler
      vfio: Create host IOMMU device instance
      hw/pci: Introduce helper function pci_device_get_iommu_bus_devfn()
      vfio/pci: Pass HostIOMMUDevice to vIOMMU
      intel_iommu: Extract out vtd_cap_init() to initialize cap/ecap
      intel_iommu: Check compatibility with host IOMMU capabilities

 MAINTAINERS                           |   2 +
 include/exec/memory.h                 |  32 ----
 include/hw/i386/intel_iommu.h         |   2 +
 include/hw/pci/pci.h                  |  38 ++++-
 include/hw/vfio/vfio-common.h         |  18 ++-
 include/hw/vfio/vfio-container-base.h |  22 +--
 include/hw/virtio/virtio-iommu.h      |   2 +
 include/qemu/range.h                  |  11 ++
 include/sysemu/host_iommu_device.h    | 102 ++++++++++++
 include/sysemu/iommufd.h              |  19 +++
 backends/host_iommu_device.c          |  33 ++++
 backends/iommufd.c                    |  76 +++++++--
 hw/i386/intel_iommu.c                 | 203 ++++++++++++++++++-----
 hw/pci/pci.c                          |  79 ++++++++-
 hw/vfio/common.c                      | 150 ++++++++++-------
 hw/vfio/container-base.c              |  70 ++++----
 hw/vfio/container.c                   | 164 +++++++++++++------
 hw/vfio/helpers.c                     |  17 ++
 hw/vfio/iommufd.c                     |  68 +++++++-
 hw/vfio/pci.c                         |  23 ++-
 hw/vfio/spapr.c                       |   3 +
 hw/virtio/virtio-iommu.c              | 296 ++++++++++++++++++++++------------
 system/memory.c                       |  13 --
 backends/meson.build                  |   1 +
 24 files changed, 1066 insertions(+), 378 deletions(-)
 create mode 100644 include/sysemu/host_iommu_device.h
 create mode 100644 backends/host_iommu_device.c



^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2025-03-07  7:29 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-06 14:13 [PULL 00/42] vfio queue Cédric Le Goater
2025-03-06 14:13 ` [PULL 01/42] vfio: Add property documentation Cédric Le Goater
2025-03-06 14:13 ` [PULL 02/42] vfio/ccw: Replace warn_once_pfch() with warn_report_once() Cédric Le Goater
2025-03-06 14:13 ` [PULL 03/42] hw/pci: Basic support for PCI power management Cédric Le Goater
2025-03-06 14:13 ` [PULL 04/42] pci: Use PCI PM capability initializer Cédric Le Goater
2025-03-06 14:13 ` [PULL 05/42] vfio/pci: Delete local pm_cap Cédric Le Goater
2025-03-06 14:13 ` [PULL 06/42] pcie, virtio: Remove redundant pm_cap Cédric Le Goater
2025-03-06 14:13 ` [PULL 07/42] hw/vfio/pci: Re-order pre-reset Cédric Le Goater
2025-03-06 14:13 ` [PULL 08/42] MAINTAINERS: Add myself as vfio-igd maintainer Cédric Le Goater
2025-03-06 14:13 ` [PULL 09/42] vfio-platform: Deprecate all forms of vfio-platform devices Cédric Le Goater
2025-03-06 14:13 ` [PULL 10/42] migration: Clarify that {load, save}_cleanup handlers can run without setup Cédric Le Goater
2025-03-06 14:13 ` [PULL 11/42] thread-pool: Remove thread_pool_submit() function Cédric Le Goater
2025-03-06 14:13 ` [PULL 12/42] thread-pool: Rename AIO pool functions to *_aio() and data types to *Aio Cédric Le Goater
2025-03-06 14:13 ` [PULL 13/42] thread-pool: Implement generic (non-AIO) pool support Cédric Le Goater
2025-03-06 14:13 ` [PULL 14/42] migration: Add MIG_CMD_SWITCHOVER_START and its load handler Cédric Le Goater
2025-03-06 14:13 ` [PULL 15/42] migration: Add qemu_loadvm_load_state_buffer() and its handler Cédric Le Goater
2025-03-06 14:13 ` [PULL 16/42] migration: Always take BQL for migration_incoming_state_destroy() Cédric Le Goater
2025-03-06 14:13 ` [PULL 17/42] error: define g_autoptr() cleanup function for the Error type Cédric Le Goater
2025-03-06 14:13 ` [PULL 18/42] migration: Add thread pool of optional load threads Cédric Le Goater
2025-03-06 14:13 ` [PULL 19/42] migration/multifd: Split packet into header and RAM data Cédric Le Goater
2025-03-06 14:13 ` [PULL 20/42] migration/multifd: Device state transfer support - receive side Cédric Le Goater
2025-03-06 14:13 ` [PULL 21/42] migration/multifd: Make multifd_send() thread safe Cédric Le Goater
2025-03-06 14:13 ` [PULL 22/42] migration/multifd: Add an explicit MultiFDSendData destructor Cédric Le Goater
2025-03-06 14:13 ` [PULL 23/42] migration/multifd: Device state transfer support - send side Cédric Le Goater
2025-03-06 14:14 ` [PULL 24/42] migration/multifd: Make MultiFDSendData a struct Cédric Le Goater
2025-03-06 14:14 ` [PULL 25/42] migration/multifd: Add multifd_device_state_supported() Cédric Le Goater
2025-03-06 14:14 ` [PULL 26/42] migration: Add save_live_complete_precopy_thread handler Cédric Le Goater
2025-03-06 14:14 ` [PULL 27/42] vfio/migration: Add load_device_config_state_start trace event Cédric Le Goater
2025-03-06 14:14 ` [PULL 28/42] vfio/migration: Convert bytes_transferred counter to atomic Cédric Le Goater
2025-03-06 14:14 ` [PULL 29/42] vfio/migration: Add vfio_add_bytes_transferred() Cédric Le Goater
2025-03-06 14:14 ` [PULL 30/42] vfio/migration: Move migration channel flags to vfio-common.h header file Cédric Le Goater
2025-03-06 14:14 ` [PULL 31/42] vfio/migration: Multifd device state transfer support - basic types Cédric Le Goater
2025-03-06 14:14 ` [PULL 32/42] vfio/migration: Multifd device state transfer - add support checking function Cédric Le Goater
2025-03-06 14:14 ` [PULL 33/42] vfio/migration: Multifd setup/cleanup functions and associated VFIOMultifd Cédric Le Goater
2025-03-06 14:14 ` [PULL 34/42] vfio/migration: Setup and cleanup multifd transfer in these general methods Cédric Le Goater
2025-03-06 14:14 ` [PULL 35/42] vfio/migration: Multifd device state transfer support - received buffers queuing Cédric Le Goater
2025-03-06 14:14 ` [PULL 36/42] vfio/migration: Multifd device state transfer support - load thread Cédric Le Goater
2025-03-06 14:14 ` [PULL 37/42] migration/qemu-file: Define g_autoptr() cleanup function for QEMUFile Cédric Le Goater
2025-03-06 14:14 ` [PULL 38/42] vfio/migration: Multifd device state transfer support - config loading support Cédric Le Goater
2025-03-06 14:14 ` [PULL 39/42] vfio/migration: Multifd device state transfer support - send side Cédric Le Goater
2025-03-06 14:14 ` [PULL 40/42] vfio/migration: Add x-migration-multifd-transfer VFIO property Cédric Le Goater
2025-03-06 14:14 ` [PULL 41/42] vfio/migration: Make x-migration-multifd-transfer VFIO property mutable Cédric Le Goater
2025-03-06 14:14 ` [PULL 42/42] hw/core/machine: Add compat for x-migration-multifd-transfer VFIO property Cédric Le Goater
2025-03-07  7:18 ` [PULL 00/42] vfio queue Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2024-06-24 21:24 Cédric Le Goater
2024-06-25 17:25 ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).