mirror of https://github.com/xemu-project/xemu.git
hw/core/cpu-common: Convert TYPE_CPU class to 3-phase reset
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
This commit is contained in:
parent
ed053e8997
commit
3b750f1b1a
|
@ -116,9 +116,9 @@ void cpu_reset(CPUState *cpu)
|
||||||
trace_guest_cpu_reset(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);
|
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||||
|
|
||||||
if (qemu_loglevel_mask(CPU_LOG_RESET)) {
|
if (qemu_loglevel_mask(CPU_LOG_RESET)) {
|
||||||
|
@ -259,6 +259,7 @@ static int64_t cpu_common_get_arch_id(CPUState *cpu)
|
||||||
static void cpu_class_init(ObjectClass *klass, void *data)
|
static void cpu_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
|
ResettableClass *rc = RESETTABLE_CLASS(klass);
|
||||||
CPUClass *k = CPU_CLASS(klass);
|
CPUClass *k = CPU_CLASS(klass);
|
||||||
|
|
||||||
k->parse_features = cpu_common_parse_features;
|
k->parse_features = cpu_common_parse_features;
|
||||||
|
@ -269,7 +270,7 @@ static void cpu_class_init(ObjectClass *klass, void *data)
|
||||||
set_bit(DEVICE_CATEGORY_CPU, dc->categories);
|
set_bit(DEVICE_CATEGORY_CPU, dc->categories);
|
||||||
dc->realize = cpu_common_realizefn;
|
dc->realize = cpu_common_realizefn;
|
||||||
dc->unrealize = cpu_common_unrealizefn;
|
dc->unrealize = cpu_common_unrealizefn;
|
||||||
dc->reset = cpu_common_reset;
|
rc->phases.hold = cpu_common_reset_hold;
|
||||||
cpu_class_init_props(dc);
|
cpu_class_init_props(dc);
|
||||||
/*
|
/*
|
||||||
* Reason: CPUs still need special care by board code: wiring up
|
* Reason: CPUs still need special care by board code: wiring up
|
||||||
|
|
Loading…
Reference in New Issue