Skip to content

Commit

Permalink
hw/core/cpu-common: Convert TYPE_CPU class to 3-phase reset
Browse files Browse the repository at this point in the history
Convert the parent class TYPE_CPU to 3-phase reset. This
is a necessary prerequisite to converting the subclasses.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20221124115023.2437291-2-peter.maydell@linaro.org
  • Loading branch information
pm215 committed Dec 16, 2022
1 parent ed053e8 commit 3b750f1
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions hw/core/cpu-common.c
Expand Up @@ -116,9 +116,9 @@ void cpu_reset(CPUState *cpu)
trace_guest_cpu_reset(cpu);
}

static void cpu_common_reset(DeviceState *dev)
static void cpu_common_reset_hold(Object *obj)
{
CPUState *cpu = CPU(dev);
CPUState *cpu = CPU(obj);
CPUClass *cc = CPU_GET_CLASS(cpu);

if (qemu_loglevel_mask(CPU_LOG_RESET)) {
Expand Down Expand Up @@ -259,6 +259,7 @@ static int64_t cpu_common_get_arch_id(CPUState *cpu)
static void cpu_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
ResettableClass *rc = RESETTABLE_CLASS(klass);
CPUClass *k = CPU_CLASS(klass);

k->parse_features = cpu_common_parse_features;
Expand All @@ -269,7 +270,7 @@ static void cpu_class_init(ObjectClass *klass, void *data)
set_bit(DEVICE_CATEGORY_CPU, dc->categories);
dc->realize = cpu_common_realizefn;
dc->unrealize = cpu_common_unrealizefn;
dc->reset = cpu_common_reset;
rc->phases.hold = cpu_common_reset_hold;
cpu_class_init_props(dc);
/*
* Reason: CPUs still need special care by board code: wiring up
Expand Down

0 comments on commit 3b750f1

Please sign in to comment.