Commit af4eea83d2 for qemu.org

commit af4eea83d2ba40e065bbc336c794d61f248017b9
Author: Thomas Huth <thuth@redhat.com>
Date:   Thu Mar 26 16:48:50 2026 +0100

    hw/display/cirrus_vga_isa: Disable global_vmstate by default for new machines

    In the long run, we would like to get rid of the code that allows to
    register migration state globally, so set global_vmstate to false when
    using the isa-cirrus-vga device with new machines, and only enable it
    for older machines to avoid breaking the migration there.

    Reviewed-by: Fabiano Rosas <farosas@suse.de>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Message-ID: <20260326154850.301609-1-thuth@redhat.com>

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 6cf0e2f404..0aa77a57e9 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -40,6 +40,7 @@

 GlobalProperty hw_compat_10_2[] = {
     { "scsi-block", "migrate-pr", "off" },
+    { "isa-cirrus-vga", "global-vmstate", "true" },
 };
 const size_t hw_compat_10_2_len = G_N_ELEMENTS(hw_compat_10_2);

diff --git a/hw/display/cirrus_vga_isa.c b/hw/display/cirrus_vga_isa.c
index bad9ec7599..76034a8860 100644
--- a/hw/display/cirrus_vga_isa.c
+++ b/hw/display/cirrus_vga_isa.c
@@ -56,7 +56,6 @@ static void isa_cirrus_vga_realizefn(DeviceState *dev, Error **errp)
                    s->vram_size_mb);
         return;
     }
-    s->global_vmstate = true;
     if (!vga_common_init(s, OBJECT(dev), errp)) {
         return;
     }
@@ -74,6 +73,8 @@ static const Property isa_cirrus_vga_properties[] = {
                        cirrus_vga.vga.vram_size_mb, 4),
     DEFINE_PROP_BOOL("blitter", struct ISACirrusVGAState,
                      cirrus_vga.enable_blitter, true),
+    DEFINE_PROP_BOOL("global-vmstate", struct ISACirrusVGAState,
+                     cirrus_vga.vga.global_vmstate, false),
 };

 static void isa_cirrus_vga_class_init(ObjectClass *klass, const void *data)