accel: Introduce AccelOpsClass::cpu_target_realize() hook

Allow accelerators to set vCPU properties before its realization.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Message-ID: <20251103101034.59039-16-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé
2025-06-18 08:05:47 +02:00
parent 6ca499b791
commit e4f6a02d86
2 changed files with 6 additions and 0 deletions

View File

@@ -106,6 +106,11 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) {
return false;
}
if (acc->ops
&& acc->ops->cpu_target_realize
&& !acc->ops->cpu_target_realize(cpu, errp)) {
return false;
}
return true;
}

View File

@@ -34,6 +34,7 @@ struct AccelOpsClass {
/* initialization function called when accel is chosen */
void (*ops_init)(AccelClass *ac);
bool (*cpu_target_realize)(CPUState *cpu, Error **errp);
bool (*cpus_are_resettable)(void);
void (*cpu_reset_hold)(CPUState *cpu);