On Fri, Dec 6, 2019 at 10:44 AM Greg Kurz <gr...@kaod.org> wrote: > > Similarly to what we already do with qdev, use a helper to overload the > reset QOM methods of the parent in children classes, for clarity. > > Signed-off-by: Greg Kurz <gr...@kaod.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > hw/core/cpu.c | 8 ++++++++ > include/hw/core/cpu.h | 4 ++++ > 2 files changed, 12 insertions(+) > > diff --git a/hw/core/cpu.c b/hw/core/cpu.c > index db1a03c6bbb3..6dad2c8488a9 100644 > --- a/hw/core/cpu.c > +++ b/hw/core/cpu.c > @@ -239,6 +239,14 @@ void cpu_dump_statistics(CPUState *cpu, int flags) > } > } > > +void cpu_class_set_parent_reset(CPUClass *cc, > + CPUReset child_reset, > + CPUReset *parent_reset) > +{ > + *parent_reset = cc->reset; > + cc->reset = child_reset; > +} > + > void cpu_reset(CPUState *cpu) > { > CPUClass *klass = CPU_GET_CLASS(cpu); > diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h > index 047e3972ecaf..6680f4b047f4 100644 > --- a/include/hw/core/cpu.h > +++ b/include/hw/core/cpu.h > @@ -1137,6 +1137,10 @@ void cpu_exec_unrealizefn(CPUState *cpu); > */ > bool target_words_bigendian(void); > > +void cpu_class_set_parent_reset(CPUClass *cc, > + CPUReset child_reset, > + CPUReset *parent_reset); > + > #ifdef NEED_CPU_H > > #ifdef CONFIG_SOFTMMU > >