diff options
| author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-01-21 12:38:45 +0100 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-03-06 15:46:17 +0100 |
| commit | 0e86d7a71e8b5af201f2066a56071d3e23f4693c (patch) | |
| tree | c6942b0796e3759653f67ff31523038e4d8a3a60 | |
| parent | 270dbee10cd31b86f0a3a8a2691026bdb0b9a071 (diff) | |
| download | focaccia-qemu-0e86d7a71e8b5af201f2066a56071d3e23f4693c.tar.gz focaccia-qemu-0e86d7a71e8b5af201f2066a56071d3e23f4693c.zip | |
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>
| -rw-r--r-- | cpu-target.c | 3 | ||||
| -rw-r--r-- | hw/core/cpu-common.c | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/cpu-target.c b/cpu-target.c index 667688332c..89874496a4 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -134,9 +134,6 @@ const VMStateDescription vmstate_cpu_common = { 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)) { return false; } diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c index cb79566cc5..ff605059c1 100644 --- a/hw/core/cpu-common.c +++ b/hw/core/cpu-common.c @@ -238,6 +238,9 @@ static void cpu_common_initfn(Object *obj) { CPUState *cpu = CPU(obj); + /* cache the cpu class for the hotpath */ + cpu->cc = CPU_GET_CLASS(cpu); + gdb_init_cpu(cpu); cpu->cpu_index = UNASSIGNED_CPU_INDEX; cpu->cluster_index = UNASSIGNED_CLUSTER_INDEX; |