cpus: Cache CPUClass early in instance_init() handler

Cache CPUClass as early as possible, when the instance
is initialized.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250123234415.59850-5-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-21 12:38:45 +01:00
parent 270dbee10c
commit 0e86d7a71e
2 changed files with 3 additions and 3 deletions

View file

@ -134,9 +134,6 @@ const VMStateDescription vmstate_cpu_common = {
bool cpu_exec_realizefn(CPUState *cpu, Error **errp) bool cpu_exec_realizefn(CPUState *cpu, Error **errp)
{ {
/* cache the cpu class for the hotpath */
cpu->cc = CPU_GET_CLASS(cpu);
if (!accel_cpu_common_realize(cpu, errp)) { if (!accel_cpu_common_realize(cpu, errp)) {
return false; return false;
} }

View file

@ -238,6 +238,9 @@ static void cpu_common_initfn(Object *obj)
{ {
CPUState *cpu = CPU(obj); CPUState *cpu = CPU(obj);
/* cache the cpu class for the hotpath */
cpu->cc = CPU_GET_CLASS(cpu);
gdb_init_cpu(cpu); gdb_init_cpu(cpu);
cpu->cpu_index = UNASSIGNED_CPU_INDEX; cpu->cpu_index = UNASSIGNED_CPU_INDEX;
cpu->cluster_index = UNASSIGNED_CLUSTER_INDEX; cpu->cluster_index = UNASSIGNED_CLUSTER_INDEX;