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>
This commit is contained in:
Cédric Le Goater 2025-03-26 08:50:52 +01:00
parent b553d2c414
commit eb6caa7916
4 changed files with 18 additions and 19 deletions

View file

@ -66,22 +66,6 @@ int vfio_kvm_device_fd = -1;
*/ */
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;
}
static bool vfio_devices_all_device_dirty_tracking_started( static bool vfio_devices_all_device_dirty_tracking_started(
const VFIOContainerBase *bcontainer) const VFIOContainerBase *bcontainer)
{ {

View file

@ -1220,3 +1220,19 @@ void vfio_migration_exit(VFIODevice *vbasedev)
migrate_del_blocker(&vbasedev->migration_blocker); 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;
}

View file

@ -57,6 +57,8 @@ typedef struct VFIOMigration {
bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp); bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp);
void vfio_migration_exit(VFIODevice *vbasedev); void vfio_migration_exit(VFIODevice *vbasedev);
bool vfio_device_state_is_running(VFIODevice *vbasedev);
bool vfio_device_state_is_precopy(VFIODevice *vbasedev);
int vfio_save_device_config_state(QEMUFile *f, void *opaque, Error **errp); int vfio_save_device_config_state(QEMUFile *f, void *opaque, Error **errp);
int vfio_load_device_config_state(QEMUFile *f, void *opaque); int vfio_load_device_config_state(QEMUFile *f, void *opaque);

View file

@ -252,9 +252,6 @@ extern VFIODeviceList vfio_device_list;
extern const MemoryListener vfio_memory_listener; extern const MemoryListener vfio_memory_listener;
extern int vfio_kvm_device_fd; extern int vfio_kvm_device_fd;
bool vfio_device_state_is_running(VFIODevice *vbasedev);
bool vfio_device_state_is_precopy(VFIODevice *vbasedev);
#ifdef CONFIG_LINUX #ifdef CONFIG_LINUX
int vfio_get_region_info(VFIODevice *vbasedev, int index, int vfio_get_region_info(VFIODevice *vbasedev, int index,
struct vfio_region_info **info); struct vfio_region_info **info);