This patch series builds on Andreas' basic QOMification of the ARM
CPU by creating a QOM subclass for each ARM CPU implementation
(926,1176,A8,etc). We can then move the setup of feature bits, register
reset values, constant ID register values, etc, from the big switch
statement in cpu_reset_model_id() into the per-cpu init function.
This allows us to:
 * drop that big switch completely
 * get rid of the ugly "copy values across the memset" code we had
   for a few CPUARMState fields
 * remove the nasty implicit dependency on reset function ordering
   we were using on the Highbank board
 * easily make some of these fields QOM properties in future (this
   needs support for a realize method first, though)

Peter Maydell (14):
  target-arm: Add QOM subclasses for each ARM cpu implementation
  target-arm: Move feature bit settings to CPU init fns
  target-arm: Move FPSID config to cpu init fns
  target-arm: Move MVFR* setup to per cpu init fns
  target-arm: Move CTR setup to per cpu init fns
  target-arm: Move SCTLR reset value setup to per cpu init fns
  target-arm: Drop JTAG_ID documentation
  target-arm: Move iWMMXT wCID reset to cpu_state_reset
  target-arm: Move feature register setup to per-CPU init fns
  target-arm: Move OMAP cp15_i_{max,min} reset to cpu_state_reset
  target-arm: Move cache ID register setup to cpu specific init fns
  target-arm: Drop cpu_reset_model_id()
  target-arm: Move reset handling to arm_cpu_reset
  target-arm: Move A9 config_base_address reset value to ARMCPU

 hw/highbank.c        |   12 +-
 target-arm/cpu-qom.h |   27 ++
 target-arm/cpu.c     |  646 +++++++++++++++++++++++++++++++++++++++++++++++++-
 target-arm/cpu.h     |    6 +-
 target-arm/helper.c  |  452 ++++-------------------------------
 5 files changed, 726 insertions(+), 417 deletions(-)


Reply via email to