aboutsummaryrefslogtreecommitdiff
path: root/include/hw/vfio
diff options
context:
space:
mode:
authorSteve Sistare <steven.sistare@oracle.com>2024-02-22 09:28:38 -0800
committerCédric Le Goater <clg@redhat.com>2024-03-08 22:10:13 +0100
commit0cb51c183a91e882b10ead4ddf2321296a537c47 (patch)
tree8f82a28bb1786ccfd0d1e6f8d2a116e69149c026 /include/hw/vfio
parentd9fa4223b30ab881cc2f506fda1fc6a86aad5529 (diff)
downloadqemu-0cb51c183a91e882b10ead4ddf2321296a537c47.zip
qemu-0cb51c183a91e882b10ead4ddf2321296a537c47.tar.gz
qemu-0cb51c183a91e882b10ead4ddf2321296a537c47.tar.bz2
vfio: allow cpr-reboot migration if suspended
Allow cpr-reboot for vfio if the guest is in the suspended runstate. The guest drivers' suspend methods flush outstanding requests and re-initialize the devices, and thus there is no device state to save and restore. The user is responsible for suspending the guest before initiating cpr, such as by issuing guest-suspend-ram to the qemu guest agent. Relax the vfio blocker so it does not apply to cpr, and add a notifier that verifies the guest is suspended. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Reviewed-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'include/hw/vfio')
-rw-r--r--include/hw/vfio/vfio-container-base.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-container-base.h
index b2813b0..3582d5f 100644
--- a/include/hw/vfio/vfio-container-base.h
+++ b/include/hw/vfio/vfio-container-base.h
@@ -49,6 +49,7 @@ typedef struct VFIOContainerBase {
QLIST_ENTRY(VFIOContainerBase) next;
QLIST_HEAD(, VFIODevice) device_list;
GList *iova_ranges;
+ NotifierWithReturn cpr_reboot_notifier;
} VFIOContainerBase;
typedef struct VFIOGuestIOMMU {