On 20.10.2025 21:35, Philippe Mathieu-Daudé wrote:
Hi,
On 15/7/25 18:37, Cédric Le Goater wrote:
From: "Maciej S. Szmigiero" <[email protected]>
This property allows configuring whether to start the config load only
after all iterables were loaded, during non-iterables loading phase.
Such interlocking is required for ARM64 due to this platform VFIO
dependency on interrupt controller being loaded first.
The property defaults to AUTO, which means ON for ARM, OFF for other
platforms.
Reviewed-by: Fabiano Rosas <[email protected]>
Reviewed-by: Avihai Horon <[email protected]>
Signed-off-by: Maciej S. Szmigiero <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/0e03c60dbc91f9a9ba2516929574df605b7dfcb4.1752589295.git.maciej.szmigi...@oracle.com
Signed-off-by: Cédric Le Goater <[email protected]>
---
docs/devel/migration/vfio.rst | 6 +++
hw/vfio/migration-multifd.h | 3 ++
hw/vfio/vfio-helpers.h | 2 +
hw/vfio/vfio-migration-internal.h | 1 +
include/hw/vfio/vfio-device.h | 1 +
hw/core/machine.c | 1 +
hw/vfio/helpers.c | 17 +++++++
hw/vfio/migration-multifd.c | 79 +++++++++++++++++++++++++++++++
hw/vfio/migration.c | 10 +++-
hw/vfio/pci.c | 10 ++++
10 files changed, 129 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/helpers.c b/hw/vfio/helpers.c
index
9a5f62154554e1df36545b8c315b9ae25534d0fb..23d13e5db5f2cb10d6914c81497494a98775a78b
100644
--- a/hw/vfio/helpers.c
+++ b/hw/vfio/helpers.c
@@ -209,3 +209,20 @@ 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)
You mention ARM64 but uses the generic ARM definition, is that expected?
It was just in case some 32-bit ARM platform is affected by something similar -
technically the issue this switch pertains to was reported just on a ARM64
platform
as the comment says.
Thanks,
Maciej