This patchset converts the TYPE_CPU base class and most subclasses to use 3-phase reset. (The exception is s390, which is doing something a bit odd with its reset, so the conversion there isn't going to be simple like these others. So I'll do that one separately.)
The rationale here is that we should be able to get rid of all the remaining uses of device_class_set_parent_reset() and remove/simplify some of the transitional code that's currently bridging between "legacy" reset and 3-phase reset. NB: even with this series, it's not possible to usefully do anything requiring 3-phase reset of a CPU yet, because all CPU objects get ad-hoc reset by some code somewhere doing a cpu_reset() call on them, which will just do all 3 phases in order. I would like to try to address that eventually, but it's not trivial. thanks -- PMM Peter Maydell (19): hw/core/cpu-common: Convert TYPE_CPU class to 3-phase reset target/arm: Convert to 3-phase reset target/avr: Convert to 3-phase reset target/cris: Convert to 3-phase reset target/hexagon: Convert to 3-phase reset target/i386: Convert to 3-phase reset target/loongarch: Convert to 3-phase reset target/m68k: Convert to 3-phase reset target/microblaze: Convert to 3-phase reset target/mips: Convert to 3-phase reset target/nios2: Convert to 3-phase reset target/openrisc: Convert to 3-phase reset target/ppc: Convert to 3-phase reset target/riscv: Convert to 3-phase reset target/rx: Convert to 3-phase reset target/sh4: Convert to 3-phase reset target/sparc: Convert to 3-phase reset target/tricore: Convert to 3-phase reset target/xtensa: Convert to 3-phase reset target/arm/cpu-qom.h | 4 ++-- target/avr/cpu-qom.h | 4 ++-- target/cris/cpu-qom.h | 4 ++-- target/hexagon/cpu.h | 2 +- target/i386/cpu-qom.h | 4 ++-- target/loongarch/cpu.h | 4 ++-- target/m68k/cpu-qom.h | 4 ++-- target/microblaze/cpu-qom.h | 4 ++-- target/mips/cpu-qom.h | 4 ++-- target/nios2/cpu.h | 4 ++-- target/openrisc/cpu.h | 4 ++-- target/ppc/cpu-qom.h | 4 ++-- target/riscv/cpu.h | 4 ++-- target/rx/cpu-qom.h | 4 ++-- target/sh4/cpu-qom.h | 4 ++-- target/sparc/cpu-qom.h | 4 ++-- target/tricore/cpu-qom.h | 2 +- target/xtensa/cpu-qom.h | 4 ++-- hw/core/cpu-common.c | 7 ++++--- target/arm/cpu.c | 13 +++++++++---- target/avr/cpu.c | 13 +++++++++---- target/cris/cpu.c | 12 ++++++++---- target/hexagon/cpu.c | 12 ++++++++---- target/i386/cpu.c | 12 ++++++++---- target/loongarch/cpu.c | 12 ++++++++---- target/m68k/cpu.c | 12 ++++++++---- target/microblaze/cpu.c | 12 ++++++++---- target/mips/cpu.c | 12 ++++++++---- target/nios2/cpu.c | 12 ++++++++---- target/openrisc/cpu.c | 12 ++++++++---- target/ppc/cpu_init.c | 12 ++++++++---- target/riscv/cpu.c | 12 ++++++++---- target/rx/cpu.c | 13 ++++++++----- target/sh4/cpu.c | 12 ++++++++---- target/sparc/cpu.c | 12 ++++++++---- target/tricore/cpu.c | 12 ++++++++---- target/xtensa/cpu.c | 12 ++++++++---- 37 files changed, 184 insertions(+), 110 deletions(-) -- 2.25.1