On 3/26/25 15:38, Steven Sistare wrote:
> On 3/26/2025 3:51 AM, Cédric Le Goater wrote:
>> Gather all CPR related declarations into "vfio-cpr.h" to reduce exposure
>> of VFIO internals in "hw/vfio/vfio-common.h". These were introduced in
>> commit d9fa4223b30a ("vfio: register container for cpr").
>>
>> Order file list in meson.build while at it.
>>
>> Cc: Steve Sistare <steven.sistare@oracle.com>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>> hw/vfio/vfio-cpr.h | 15 +++++++++++++++
>> include/hw/vfio/vfio-common.h | 3 ---
>> hw/vfio/container.c | 1 +
>> hw/vfio/cpr.c | 1 +
>> hw/vfio/iommufd.c | 1 +
>> hw/vfio/meson.build | 2 +-
>> 6 files changed, 19 insertions(+), 4 deletions(-)
>> create mode 100644 hw/vfio/vfio-cpr.h
>>
>> diff --git a/hw/vfio/vfio-cpr.h b/hw/vfio/vfio-cpr.h
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..9e78b422623683509929f2982f0be465306f4e99
>> --- /dev/null
>> +++ b/hw/vfio/vfio-cpr.h
>> @@ -0,0 +1,15 @@
>> +/*
>> + * VFIO CPR
>> + *
>> + * Copyright Red Hat, Inc. 2025
>
> This, please:
> Copyright (c) 2025 Oracle and/or its affiliates.
>
> I created the copied code, and I created this file vfio-cpr.h in my vfio cpr series.
Yes. Will replace the copyright notice.
> Other than that:
> Reviewed-by: Steve Sistare <steven.sistare@oracle.com>
Thanks,
C.
>
> - Steve
>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0-or-later
>> + */
>> +
>> +#ifndef HW_VFIO_CPR_H
>> +#define HW_VFIO_CPR_H
>> +
>> +bool vfio_cpr_register_container(VFIOContainerBase *bcontainer, Error **errp);
>> +void vfio_cpr_unregister_container(VFIOContainerBase *bcontainer);
>> +
>> +#endif /* HW_VFIO_CPR_H */
>> diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
>> index 75c48ebf5c21ea93aa8ac4c3aecc63172b633f0e..c587ed08feabd0c4845d824960dd0799e9ace69b 100644
>> --- a/include/hw/vfio/vfio-common.h
>> +++ b/include/hw/vfio/vfio-common.h
>> @@ -129,9 +129,6 @@ bool vfio_attach_device(char *name, VFIODevice *vbasedev,
>> void vfio_detach_device(VFIODevice *vbasedev);
>> VFIODevice *vfio_get_vfio_device(Object *obj);
>> -bool vfio_cpr_register_container(VFIOContainerBase *bcontainer, Error **errp);
>> -void vfio_cpr_unregister_container(VFIOContainerBase *bcontainer);
>> -
>> typedef QLIST_HEAD(VFIODeviceList, VFIODevice) VFIODeviceList;
>> extern VFIODeviceList vfio_device_list;
>> extern const MemoryListener vfio_memory_listener;
>> diff --git a/hw/vfio/container.c b/hw/vfio/container.c
>> index 6e9378434377f4b03176a16157c337ab1286c53e..7436388a73a424b11e6bad9ce80b86c3792242dd 100644
>> --- a/hw/vfio/container.c
>> +++ b/hw/vfio/container.c
>> @@ -34,6 +34,7 @@
>> #include "pci.h"
>> #include "hw/vfio/vfio-container.h"
>> #include "vfio-helpers.h"
>> +#include "vfio-cpr.h"
>> #define TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO TYPE_HOST_IOMMU_DEVICE "-legacy-vfio"
>> diff --git a/hw/vfio/cpr.c b/hw/vfio/cpr.c
>> index 3d1c8d290a5e6b6d67e244931a9ef8c194a0b574..696987006b853227e76caedb3c7f4e4be31cfa06 100644
>> --- a/hw/vfio/cpr.c
>> +++ b/hw/vfio/cpr.c
>> @@ -10,6 +10,7 @@
>> #include "migration/misc.h"
>> #include "qapi/error.h"
>> #include "system/runstate.h"
>> +#include "vfio-cpr.h"
>> static int vfio_cpr_reboot_notifier(NotifierWithReturn *notifier,
>> MigrationEvent *e, Error **errp)
>> diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c
>> index 85b5a8146ac401af6be8109c28ea4c7a39e84521..a5bd189a86d70bd11ecb80384ac145a51979322b 100644
>> --- a/hw/vfio/iommufd.c
>> +++ b/hw/vfio/iommufd.c
>> @@ -27,6 +27,7 @@
>> #include "pci.h"
>> #include "vfio-iommufd.h"
>> #include "vfio-helpers.h"
>> +#include "vfio-cpr.h"
>> #define TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO \
>> TYPE_HOST_IOMMU_DEVICE_IOMMUFD "-vfio"
>> diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build
>> index 60caa366175edee6bc69c0febebaef84e752e346..1f89bd28c13dea55bcfff476ce99d51b453d8533 100644
>> --- a/hw/vfio/meson.build
>> +++ b/hw/vfio/meson.build
>> @@ -20,10 +20,10 @@ system_ss.add(when: 'CONFIG_VFIO_XGMAC', if_true: files('calxeda-xgmac.c'))
>> system_ss.add(when: 'CONFIG_VFIO_AMD_XGBE', if_true: files('amd-xgbe.c'))
>> system_ss.add(when: 'CONFIG_VFIO', if_true: files(
>> 'container-base.c',
>> + 'cpr.c',
>> 'device.c',
>> 'migration.c',
>> 'migration-multifd.c',
>> - 'cpr.c',
>> 'region.c',
>> ))
>> system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files(
>