On Wed, 26 Mar 2025 at 13:22, Cédric Le Goater <clg@redhat.com> wrote:
> These routines are migration related. Move their declaration and
> implementation under the migration files.
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
> hw/vfio/vfio-migration-internal.h | 2 ++
> include/hw/vfio/vfio-common.h | 3 ---
> hw/vfio/common.c | 16 ----------------
> hw/vfio/migration.c | 16 ++++++++++++++++
> 4 files changed, 18 insertions(+), 19 deletions(-)
>
> diff --git a/hw/vfio/vfio-migration-internal.h b/hw/vfio/vfio-migration-internal.h
> index ab6a1bad9b513aa61557905e72e5c6b264372276..a8b456b239df8a54ab96daf56b5f778b3ffbfa5e 100644
> --- a/hw/vfio/vfio-migration-internal.h
> +++ b/hw/vfio/vfio-migration-internal.h
> @@ -57,6 +57,8 @@ typedef struct VFIOMigration {
>
> bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp);
> 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_load_device_config_state(QEMUFile *f, void *opaque);
>
> diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
> index 920ad154b4f82b9c244b5b9e8da44f7583e5ead0..799e12d43747addbf444c15052f629b65978322f 100644
> --- a/include/hw/vfio/vfio-common.h
> +++ b/include/hw/vfio/vfio-common.h
> @@ -252,9 +252,6 @@ extern VFIODeviceList vfio_device_list;
> extern const MemoryListener vfio_memory_listener;
> 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
> int vfio_get_region_info(VFIODevice *vbasedev, int index,
> struct vfio_region_info **info);
> diff --git a/hw/vfio/common.c b/hw/vfio/common.c
> index 9bbd798e3e9e0b7a7620d4b1f34f1ef5e8ac42c1..33f7191c7fec76bb3f46b96e25dc1872808ccc8c 100644
> --- a/hw/vfio/common.c
> +++ b/hw/vfio/common.c
> @@ -67,22 +67,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(
> const VFIOContainerBase *bcontainer)
> {
> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
> index 2a72a8e07542096276cc7c386359ad375e7d24c8..8d69de3c80eaedf9bf4b8bc9b25f6d722ae619b2 100644
> --- a/hw/vfio/migration.c
> +++ b/hw/vfio/migration.c
> @@ -1223,3 +1223,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;
> +}
> --
* Looks okay.
Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
Thank you.
---
- Prasad