Commit 0dcbba66de for qemu.org

commit 0dcbba66de8e1688dc50348b8932579d654b05bb
Author: Thomas Huth <thuth@redhat.com>
Date:   Wed Dec 17 15:42:38 2025 +0100

    hw/s390x: Un-inline the s390_do_cpu_*() functions

    These functions are only called via their function pointer by using
    the run_on_cpu() function, so it does not make sense to declare these
    as "inline" functions. Move the functions from cpu.h to either cpu.c
    (when they are still used in multiple places), or to s390-virtio-ccw.c
    (when they are only called from that file).

    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Eric Farman <farman@linux.ibm.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Message-ID: <20251217144238.37610-1-thuth@redhat.com>

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 5e9bab2ee7..3ef009463d 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -364,7 +364,24 @@ static void s390_cpu_plug(HotplugHandler *hotplug_dev,
     }
 }

-static inline void s390_do_cpu_ipl(CPUState *cs, run_on_cpu_data arg)
+static void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
+{
+    resettable_reset(OBJECT(cs), RESET_TYPE_S390_CPU_NORMAL);
+}
+
+static void s390_do_cpu_initial_reset(CPUState *cs, run_on_cpu_data arg)
+{
+    resettable_reset(OBJECT(cs), RESET_TYPE_S390_CPU_INITIAL);
+}
+
+static void s390_do_cpu_load_normal(CPUState *cs, run_on_cpu_data arg)
+{
+    S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
+
+    scc->load_normal(cs);
+}
+
+static void s390_do_cpu_ipl(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);

diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 6c4198eb1b..6af7446fd9 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -141,6 +141,11 @@ static void s390_query_cpu_fast(CPUState *cpu, CpuInfoFast *value)
 #endif
 }

+void s390_do_cpu_full_reset(CPUState *cs, run_on_cpu_data arg)
+{
+    cpu_reset(cs);
+}
+
 /* S390CPUClass Resettable reset_hold phase method */
 static void s390_cpu_reset_hold(Object *obj, ResetType type)
 {
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index aa931cb674..ba2bf177e8 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -845,30 +845,8 @@ static inline uint64_t s390_build_validity_mcic(void)
     return mcic;
 }

-static inline void s390_do_cpu_full_reset(CPUState *cs, run_on_cpu_data arg)
-{
-    cpu_reset(cs);
-}
-
-static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
-{
-    resettable_reset(OBJECT(cs), RESET_TYPE_S390_CPU_NORMAL);
-}
-
-static inline void s390_do_cpu_initial_reset(CPUState *cs, run_on_cpu_data arg)
-{
-    resettable_reset(OBJECT(cs), RESET_TYPE_S390_CPU_INITIAL);
-}
-
-static inline void s390_do_cpu_load_normal(CPUState *cs, run_on_cpu_data arg)
-{
-    S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
-
-    scc->load_normal(cs);
-}
-
-
 /* cpu.c */
+void s390_do_cpu_full_reset(CPUState *cs, run_on_cpu_data arg);
 void s390_crypto_reset(void);
 void s390_cmma_reset(void);
 void s390_enable_css_support(S390CPU *cpu);