We tend to apply cpu_reset inconsistently throughout our various
models which leads to unintended ordering dependencies. This got in
the way in my last plugins series:

  https://patchew.org/QEMU/[email protected]/

where I needed to shuffle things around to ensure that gdb register
creation was done after dependant peripherals had created their cpu
interfaces.

Regardless of that we do have a proper reset interface now and most
architectures have moved to it. This series attempts to clean-up the
remaining cases with proper qemu_register_reset() calls so reset is
called when we intend to.

v2

I re-span this to address the missing cpu_reset Akihiko found
troubling the alpha replay test:

  Message-Id: <[email protected]>
  Date: Tue, 17 Feb 2026 15:34:28 +0900
  Subject: [PATCH 0/2] Reapply "rcu: Unify force quiescent state"
  From: Akihiko Odaki <[email protected]>

I also dropped the use of qemu_register_reset in favour of the proper
3-phase APIs.

Alex.

Alex Bennée (14):
  target/m68k: clean-up includes in cpu.c
  target/m68k: initialise pc/sp vector during reset
  hw/m68k: transition virt machine to multi-phase reset
  hw/m68k: update nextcube to 3-phase reset
  hw/m68k: update mcf5208evb to 3-phase reset
  hw/m68k: update an5206 to 3-phase reset
  hw/mips: defer finalising gcr_base until reset time
  hw/mips: drop cpu_reset in mips_cpu_realizefn
  target/tricore: move cpu_reset from tricore_cpu_realizefn
  target/arm: remove extraneous cpu_reset from realizefn
  hw/alpha: remove unused includes
  hw/alpha: add a reset function for the clipper machine
  target/alpha: move cpu reset into a proper reset function
  include/hw: expand cpu_reset function docs

 include/hw/core/cpu.h |  3 +++
 include/hw/mips/cps.h | 14 +++++++++++++-
 target/alpha/cpu.h    |  2 ++
 target/m68k/cpu.h     |  2 ++
 hw/alpha/dp264.c      | 12 ++++++++++--
 hw/m68k/an5206.c      | 23 ++++++++++++++++-------
 hw/m68k/mcf5208.c     | 26 ++++++++++++--------------
 hw/m68k/next-cube.c   | 23 +++++++++++++++++------
 hw/m68k/virt.c        | 34 ++++++++++------------------------
 hw/mips/cps.c         | 26 +++++++++++++++++---------
 hw/misc/mips_cmgcr.c  |  1 -
 target/alpha/cpu.c    | 10 ++++++----
 target/arm/cpu.c      |  1 -
 target/m68k/cpu.c     | 41 +++++++++++++++++++++++++++++++++--------
 target/mips/cpu.c     |  1 -
 target/tricore/cpu.c  |  9 ++++++++-
 16 files changed, 149 insertions(+), 79 deletions(-)

-- 
2.47.3


Reply via email to