Inline vfio_arch_wants_loading_config_after_iter() and replace the compile time check of the TARGET_ARM definition by a runtime call to target_base_arm().
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- Supersedes: <[email protected]> Based-on: <[email protected]> https://lore.kernel.org/qemu-devel/[email protected]/ --- hw/vfio/vfio-helpers.h | 2 -- hw/vfio/helpers.c | 17 ----------------- hw/vfio/migration-multifd.c | 12 +++++++++++- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/hw/vfio/vfio-helpers.h b/hw/vfio/vfio-helpers.h index ce317580800..54a327ffbc0 100644 --- a/hw/vfio/vfio-helpers.h +++ b/hw/vfio/vfio-helpers.h @@ -32,6 +32,4 @@ struct vfio_device_info *vfio_get_device_info(int fd); int vfio_kvm_device_add_fd(int fd, Error **errp); int vfio_kvm_device_del_fd(int fd, Error **errp); -bool vfio_arch_wants_loading_config_after_iter(void); - #endif /* HW_VFIO_VFIO_HELPERS_H */ diff --git a/hw/vfio/helpers.c b/hw/vfio/helpers.c index 23d13e5db5f..9a5f6215455 100644 --- a/hw/vfio/helpers.c +++ b/hw/vfio/helpers.c @@ -209,20 +209,3 @@ retry: return info; } - -bool vfio_arch_wants_loading_config_after_iter(void) -{ - /* - * Starting the config load only after all iterables were loaded (during - * non-iterables loading phase) is required for ARM64 due to this platform - * VFIO dependency on interrupt controller being loaded first. - * - * See commit d329f5032e17 ("vfio: Move the saving of the config space to - * the right place in VFIO migration"). - */ -#if defined(TARGET_ARM) - return true; -#else - return false; -#endif -} diff --git a/hw/vfio/migration-multifd.c b/hw/vfio/migration-multifd.c index e4785031a73..b0eea0de678 100644 --- a/hw/vfio/migration-multifd.c +++ b/hw/vfio/migration-multifd.c @@ -16,6 +16,7 @@ #include "qemu/error-report.h" #include "qemu/lockable.h" #include "qemu/main-loop.h" +#include "qemu/target-info.h" #include "qemu/thread.h" #include "io/channel-buffer.h" #include "migration/qemu-file.h" @@ -44,7 +45,16 @@ bool vfio_load_config_after_iter(VFIODevice *vbasedev) } assert(vbasedev->migration_load_config_after_iter == ON_OFF_AUTO_AUTO); - return vfio_arch_wants_loading_config_after_iter(); + + /* + * Starting the config load only after all iterables were loaded (during + * non-iterables loading phase) is required for ARM64 due to this platform + * VFIO dependency on interrupt controller being loaded first. + * + * See commit d329f5032e17 ("vfio: Move the saving of the config space to + * the right place in VFIO migration"). + */ + return target_base_arm(); } /* type safety */ -- 2.51.0
