On 22/6/25 04:14, Richard Henderson wrote:
On 6/20/25 10:13, Philippe Mathieu-Daudé wrote:
Factor accel_cpu_realize() out of accel_cpu_common_realize()
for re-use.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
accel/accel-internal.h | 2 ++
accel/accel-common.c | 15 ++++++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
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/accel/accel-common.c b/accel/accel-common.c
index 24038acf4aa..0f2aa783ab2 100644
--- a/accel/accel-common.c
+++ b/accel/accel-common.c
@@ -122,10 +122,14 @@ void accel_create_vcpu_thread(AccelState *accel,
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
@@ -147,6 +151,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);
Why pass null here, and why check for it in the new function?
Indeed ;)