Current state known to be broken, still figuring things out...

Signed-off-by: Mohamed Mediouni <moha...@unpredictable.fr>
---
 hw/intc/arm_gicv3_hvf.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/hw/intc/arm_gicv3_hvf.c b/hw/intc/arm_gicv3_hvf.c
index 30362540f2..151020edd6 100644
--- a/hw/intc/arm_gicv3_hvf.c
+++ b/hw/intc/arm_gicv3_hvf.c
@@ -18,6 +18,7 @@
 #include "hvf_arm.h"
 #include "gicv3_internal.h"
 #include "vgic_common.h"
+#include "migration/blocker.h"
 #include "qom/object.h"
 #include "target/arm/cpregs.h"
 #include <Hypervisor/Hypervisor.h>
@@ -703,6 +704,17 @@ static void hvf_gicv3_realize(DeviceState *dev, Error 
**errp)
         error_setg(errp, "vGIC maintenance IRQ mismatch with the hardcoded one 
in HVF.");
         return;
     }
+
+    /* Temporary: current state known to be incomplete. */
+    if (s->num_cpu > 1) {
+        Error *hvf_mcpu_migration_blocker = NULL;
+        error_setg(&hvf_mcpu_migration_blocker,
+           "Live migration disabled because multiple CPUs are exposed.");
+        if (migrate_add_blocker(&hvf_mcpu_migration_blocker, errp)) {
+            error_free(hvf_mcpu_migration_blocker);
+            return;
+        }
+    }
 }
 
 static void hvf_gicv3_class_init(ObjectClass *klass, const void *data)
-- 
2.39.5 (Apple Git-154)


Reply via email to