aboutsummaryrefslogtreecommitdiff
path: root/hw/vfio/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/vfio/display.c')
-rw-r--r--hw/vfio/display.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/hw/vfio/display.c b/hw/vfio/display.c
index 837d9e6a30..7a10fa8604 100644
--- a/hw/vfio/display.c
+++ b/hw/vfio/display.c
@@ -544,3 +544,24 @@ void vfio_display_finalize(VFIOPCIDevice *vdev)
vfio_display_edid_exit(vdev->dpy);
g_free(vdev->dpy);
}
+
+static bool migrate_needed(void *opaque)
+{
+ VFIODisplay *dpy = opaque;
+ bool ramfb_exists = dpy->ramfb != NULL;
+
+ /* see vfio_display_migration_needed() */
+ assert(ramfb_exists);
+ return ramfb_exists;
+}
+
+const VMStateDescription vfio_display_vmstate = {
+ .name = "VFIODisplay",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .needed = migrate_needed,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT_POINTER(ramfb, VFIODisplay, ramfb_vmstate, RAMFBState),
+ VMSTATE_END_OF_LIST(),
+ }
+};