]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
accel: Introduce AccelOpsClass::cpu_target_realize() hook
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Wed, 18 Jun 2025 06:05:47 +0000 (08:05 +0200)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 16 Jan 2026 10:17:28 +0000 (11:17 +0100)
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>

accel/accel-common.c
include/accel/accel-cpu-ops.h

index 850c5ab4b8e43ccac7a216ffa27005b8039f1787..eecb2a292afe55c450064de8bfa09de3035ceacc 100644 (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;
 }
index 0674764914f76472f7307907c76422ef743f6820..9c07a903ea04a192f2194f00f53888aa44a7489c 100644 (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);