On Wed, 21 Jan 2026 at 13:42, Mohamed Mediouni <[email protected]> wrote: > > GICv3 state save-restore is currently not implemented yet. > > Signed-off-by: Mohamed Mediouni <[email protected]> > > Reviewed-by: Pierrick Bouvier <[email protected]> > --- > hw/intc/arm_gicv3_whpx.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/hw/intc/arm_gicv3_whpx.c b/hw/intc/arm_gicv3_whpx.c > index 9bc036d1ac..a2f8e3c5fb 100644 > --- a/hw/intc/arm_gicv3_whpx.c > +++ b/hw/intc/arm_gicv3_whpx.c > @@ -17,6 +17,7 @@ > #include "system/whpx-internal.h" > #include "gicv3_internal.h" > #include "vgic_common.h" > +#include "migration/blocker.h" > #include "qom/object.h" > #include "target/arm/cpregs.h" > > @@ -204,6 +205,14 @@ static void whpx_gicv3_realize(DeviceState *dev, Error > **errp) > error_setg(errp, "Nested virtualisation not currently supported by > WHPX."); > return; > } > + > + Error *whpx_migration_blocker = NULL; > + > + error_setg(&whpx_migration_blocker, > + "Live migration disabled because GIC state save/restore not > supported on WHPX"); > + if (migrate_add_blocker(&whpx_migration_blocker, errp) < 0) { > + error_report_err(*errp); > + } > }
I think you can just fold this in to patch 11 where you create this device. PS: QEMU style says no declarations of variables in the middle of a code block. The GIC base class has an s->migration_blocker field that you should use for this (and indeed you're already testing that in your whpx_gicv3_icc_reset()...) thanks -- PMM
