@@ -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 */
@@ -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.
@@ -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();
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(-)