summary refs log tree commit diff stats
path: root/hw/vfio/migration.c
diff options
context:
space:
mode:
authorCédric Le Goater <clg@redhat.com>2025-03-26 08:50:52 +0100
committerCédric Le Goater <clg@redhat.com>2025-04-25 09:01:37 +0200
commiteb6caa79162a89a8dcbe6a6d4788acd813b687a2 (patch)
tree37d0c11dfd9e11909339743280740549e3f74a4c /hw/vfio/migration.c
parentb553d2c414a1b5c5bd3bf8bce0b648ba7f8e2baf (diff)
downloadfocaccia-qemu-eb6caa79162a89a8dcbe6a6d4788acd813b687a2.tar.gz
focaccia-qemu-eb6caa79162a89a8dcbe6a6d4788acd813b687a2.zip
vfio: Move vfio_device_state_is_running/precopy() into migration.c
These routines are migration related. Move their declaration and
implementation under the migration files.

Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
Reviewed-by: John Levon <john.levon@nutanix.com>
Link: https://lore.kernel.org/qemu-devel/20250326075122.1299361-8-clg@redhat.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'hw/vfio/migration.c')
-rw-r--r--hw/vfio/migration.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index 54f6ca3e7c..4da0526325 100644
--- a/hw/vfio/migration.c
+++ b/hw/vfio/migration.c
@@ -1220,3 +1220,19 @@ void vfio_migration_exit(VFIODevice *vbasedev)
 
     migrate_del_blocker(&vbasedev->migration_blocker);
 }
+
+bool vfio_device_state_is_running(VFIODevice *vbasedev)
+{
+    VFIOMigration *migration = vbasedev->migration;
+
+    return migration->device_state == VFIO_DEVICE_STATE_RUNNING ||
+           migration->device_state == VFIO_DEVICE_STATE_RUNNING_P2P;
+}
+
+bool vfio_device_state_is_precopy(VFIODevice *vbasedev)
+{
+    VFIOMigration *migration = vbasedev->migration;
+
+    return migration->device_state == VFIO_DEVICE_STATE_PRE_COPY ||
+           migration->device_state == VFIO_DEVICE_STATE_PRE_COPY_P2P;
+}