forked from rpms/qemu-kvm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.4 KiB
71 lines
2.4 KiB
From 77353cdafd08562dff9c99e9f3984d12224bee52 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@redhat.com>
|
|
Date: Wed, 12 Jul 2023 17:46:57 +0200
|
|
Subject: [PATCH 14/37] vfio/migration: Store VFIO migration flags in
|
|
VFIOMigration
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Cédric Le Goater <clg@redhat.com>
|
|
RH-MergeRequest: 179: vfio: live migration support
|
|
RH-Bugzilla: 2192818
|
|
RH-Acked-by: Eric Auger <eric.auger@redhat.com>
|
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
RH-Commit: [12/28] 31a9c39e6ee6338a35dc08c3e7f5c1a204166249 (clegoate/qemu-kvm-c9s)
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/2192818
|
|
|
|
commit 6cd1fe11598a
|
|
Author: Avihai Horon <avihaih@nvidia.com>
|
|
Date: Wed Jun 21 14:11:59 2023 +0300
|
|
|
|
vfio/migration: Store VFIO migration flags in VFIOMigration
|
|
|
|
VFIO migration flags are queried once in vfio_migration_init(). Store
|
|
them in VFIOMigration so they can be used later to check the device's
|
|
migration capabilities without re-querying them.
|
|
|
|
This will be used in the next patch to check if the device supports
|
|
precopy migration.
|
|
|
|
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
|
|
Reviewed-by: Cédric Le Goater <clg@redhat.com>
|
|
Tested-by: YangHang Liu <yanghliu@redhat.com>
|
|
Acked-by: Alex Williamson <alex.williamson@redhat.com>
|
|
Signed-off-by: Cédric Le Goater <clg@redhat.com>
|
|
|
|
Signed-off-by: Cédric Le Goater <clg@redhat.com>
|
|
---
|
|
hw/vfio/migration.c | 1 +
|
|
include/hw/vfio/vfio-common.h | 1 +
|
|
2 files changed, 2 insertions(+)
|
|
|
|
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
|
|
index 235978fd68..8d33414379 100644
|
|
--- a/hw/vfio/migration.c
|
|
+++ b/hw/vfio/migration.c
|
|
@@ -603,6 +603,7 @@ static int vfio_migration_init(VFIODevice *vbasedev)
|
|
migration->vbasedev = vbasedev;
|
|
migration->device_state = VFIO_DEVICE_STATE_RUNNING;
|
|
migration->data_fd = -1;
|
|
+ migration->mig_flags = mig_flags;
|
|
|
|
vbasedev->dirty_pages_supported = vfio_dma_logging_supported(vbasedev);
|
|
|
|
diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
|
|
index eed244f25f..5f29dab839 100644
|
|
--- a/include/hw/vfio/vfio-common.h
|
|
+++ b/include/hw/vfio/vfio-common.h
|
|
@@ -66,6 +66,7 @@ typedef struct VFIOMigration {
|
|
int data_fd;
|
|
void *data_buffer;
|
|
size_t data_buffer_size;
|
|
+ uint64_t mig_flags;
|
|
} VFIOMigration;
|
|
|
|
typedef struct VFIOAddressSpace {
|
|
--
|
|
2.39.3
|
|
|