diff mbox series

[RFC,09/19] accel: Factor accel_cpu_realize() out

Message ID 20250606164418.98655-10-philmd@linaro.org
State New
Headers show
Series accel: Preparatory cleanups for split-accel | expand

Commit Message

Philippe Mathieu-Daudé June 6, 2025, 4:44 p.m. UTC
Factor accel_cpu_realize() out of accel_cpu_common_realize()
for re-use.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 accel/accel-internal.h |  2 ++
 include/qemu/accel.h   |  2 ++
 accel/accel-common.c   | 15 ++++++++++++---
 3 files changed, 16 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/accel/accel-internal.h b/accel/accel-internal.h
index d3a4422cbf7..b541377c349 100644
--- a/accel/accel-internal.h
+++ b/accel/accel-internal.h
@@ -14,4 +14,6 @@ 
 
 void accel_init_ops_interfaces(AccelClass *ac);
 
+bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp);
+
 #endif /* ACCEL_SYSTEM_H */
diff --git a/include/qemu/accel.h b/include/qemu/accel.h
index c660c5f4b11..3c9aaf9523c 100644
--- a/include/qemu/accel.h
+++ b/include/qemu/accel.h
@@ -91,6 +91,8 @@  void accel_setup_post(MachineState *ms);
  */
 void accel_cpu_instance_init(CPUState *cpu);
 
+bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp);
+
 /**
  * accel_cpu_common_realize:
  * @cpu: The CPU that needs to call accel-specific cpu realization.
diff --git a/accel/accel-common.c b/accel/accel-common.c
index 4894b98d64a..4f3b42e7112 100644
--- a/accel/accel-common.c
+++ b/accel/accel-common.c
@@ -88,10 +88,14 @@  void accel_cpu_instance_init(CPUState *cpu)
     }
 }
 
-bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
+bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp)
 {
-    AccelState *accel = current_accel();
-    AccelClass *acc = ACCEL_GET_CLASS(accel);
+    AccelClass *acc;
+
+    if (!accel) {
+        accel = current_accel();
+    }
+    acc = ACCEL_GET_CLASS(accel);
 
     /* target specific realization */
     if (cpu->cc->accel_cpu
@@ -108,6 +112,11 @@  bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
     return true;
 }
 
+bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
+{
+    return accel_cpu_realize(NULL, cpu, errp);
+}
+
 void accel_cpu_common_unrealize(CPUState *cpu)
 {
     AccelState *accel = current_accel();