Support vfio devices with the cpr-exec live migration mode. See the commit messages of the individual patches for details. No user-visible interfaces are added.
This series is extracted from the following and updated for the latest QEMU: [PATCH V9 00/46] Live Update https://lore.kernel.org/qemu-devel/1658851843-236870-1-git-send-email-steven.sist...@oracle.com/ This series depends on the following, which is based on commit 44b7329de469: [PATCH V2 00/11] Live update: cpr-exec https://lore.kernel.org/qemu-devel/1719776434-435013-1-git-send-email-steven.sist...@oracle.com/ Steve Sistare (8): migration: cpr_needed_for_reuse pci: export msix_is_pending vfio-pci: refactor for cpr vfio-pci: cpr part 1 (fd and dma) vfio-pci: cpr part 2 (msi) vfio-pci: cpr part 3 (intx) vfio: vfio_find_ram_discard_listener vfio-pci: recover from unmap-all-vaddr failure hw/pci/msix.c | 2 +- hw/pci/pci.c | 13 ++ hw/vfio/common.c | 88 ++++++++-- hw/vfio/container.c | 139 ++++++++++++--- hw/vfio/cpr-legacy.c | 162 ++++++++++++++++++ hw/vfio/cpr.c | 24 ++- hw/vfio/meson.build | 3 +- hw/vfio/pci.c | 308 +++++++++++++++++++++++++++++----- include/hw/pci/msix.h | 1 + include/hw/vfio/vfio-common.h | 10 ++ include/hw/vfio/vfio-container-base.h | 7 + include/migration/cpr.h | 1 + include/migration/vmstate.h | 2 + migration/cpr.c | 5 + 14 files changed, 682 insertions(+), 83 deletions(-) create mode 100644 hw/vfio/cpr-legacy.c -- 1.8.3.1