On 09/05/2024 19.00, Paolo Bonzini wrote:
Instead of mucking with css_migration_enabled(), add a property specific to
the FLIC device, similar to what is done for TYPE_S390_STATTRIB.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
  include/hw/s390x/s390_flic.h | 1 +
  hw/intc/s390_flic.c          | 6 +++++-
  hw/s390x/s390-virtio-ccw.c   | 1 +
  3 files changed, 7 insertions(+), 1 deletion(-)

Reviewed-by: Thomas Huth <th...@redhat.com>

(BTW: It's really good that Daniel's patch series is going to mark the old machine types as deprecated, too ... migration stuff has been so hacky in the 2.x days...)

diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h
index 3907a13d076..bcb081def58 100644
--- a/include/hw/s390x/s390_flic.h
+++ b/include/hw/s390x/s390_flic.h
@@ -47,6 +47,7 @@ struct S390FLICState {
      /* to limit AdapterRoutes.num_routes for compat */
      uint32_t adapter_routes_max_batch;
      bool ais_supported;
+    bool migration_enabled;
  };
diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
index f4a848460b8..7f930800877 100644
--- a/hw/intc/s390_flic.c
+++ b/hw/intc/s390_flic.c
@@ -405,6 +405,8 @@ static void qemu_s390_flic_class_init(ObjectClass *oc, void 
*data)
  static Property s390_flic_common_properties[] = {
      DEFINE_PROP_UINT32("adapter_routes_max_batch", S390FLICState,
                         adapter_routes_max_batch, ADAPTER_ROUTES_MAX_GSI),
+    DEFINE_PROP_BOOL("migration-enabled", S390FLICState,
+                     migration_enabled, true),
      DEFINE_PROP_END_OF_LIST(),
  };
@@ -457,7 +459,9 @@ type_init(qemu_s390_flic_register_types) static bool adapter_info_so_needed(void *opaque)
  {
-    return css_migration_enabled();
+    S390FLICState *fs = S390_FLIC_COMMON(opaque);
+
+    return fs->migration_enabled;
  }
const VMStateDescription vmstate_adapter_info_so = {
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index feabc173eb3..1383e47eeb5 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1174,6 +1174,7 @@ static void ccw_machine_2_9_class_options(MachineClass 
*mc)
      S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
      static GlobalProperty compat[] = {
          { TYPE_S390_STATTRIB, "migration-enabled", "off", },
+        { TYPE_S390_FLIC_COMMON, "migration-enabled", "off", },
      };
ccw_machine_2_10_class_options(mc);


Reply via email to