From: Andreas Färber <andreas.faer...@web.de> Hello Peter,
This series fully QOM'ifies A9MPCore so that it can be embedded for Tegra2. It goes on to do the same for A15MPCore, which had previously been taken as template for Cortex-A57 by John Rigby, and since v3 ARM11MPCore. Separate headers are introduced to only expose device state to whom asks for it. v4 is a rebase that addresses concerns about potential future GICState size mismatches by asserting in QOM infrastructure. Regards, Andreas v3 -> v4: * Rebased; object_initialize() now takes additional size argument. * Subject prefixes unified. v2 -> v3: * Split off hw/intc/arm_gic_common.h from new arm_gic.h (PMM). * Added patches converting arm11mpcore, too. * Split off arm11scu from arm11mpcore, following a9scu/a9mpcore model. * Added patch to enforce building a9scu only once. * Split off RealView MPCore from ARM11 MPCore using a new arm11mpcore.h. v1 -> v2: * Renamed MP_TIMER to MPTIMER (Peter C.). * Don't include gic_internal.h, introduce new arm_gic.h header (PMM). * a9mpcore: Init only container MemoryRegion in instance_init (Peter C.). * a9mpcore/a15mpcore: Replaced all qdev_init_nofail()s for error propagation. Cc: Peter Maydell <peter.mayd...@linaro.org> Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Cc: Mian M. Hamayun <m.hama...@virtualopensystems.com> Cc: Claudio Fontana <claudio.font...@huawei.com> Andreas Färber (24): a9mpcore: Split off instance_init arm_gic: Extract headers hw/intc/arm_gic{,_common}.h a9mpcore: Embed GICState a9scu: QOM cleanups a9mpcore: Embed A9SCUState arm_mptimer: Convert to QOM realize a9mpcore: Embed ARMMPTimerState a9mpcore: Convert to QOM realize a9mpcore: Prepare for QOM embedding a15mpcore: Split off instance_init a15mpcore: Embed GICState a15mpcore: Convert to QOM realize a15mpcore: Prepare for QOM embedding a9scu: Build only once arm11mpcore: Fix typo in MemoryRegion name arm11mpcore: Drop unused fields arm11mpcore: Create container MemoryRegion in instance_init arm11mpcore: Split off SCU device arm11mpcore: Convert ARM11MPCorePriveState to QOM realize realview_gic: Convert to QOM realize realview_gic: Prepare for QOM embedding arm11mpcore: Convert mpcore_rirq_state to QOM realize arm11mpcore: Prepare for QOM embedding arm11mpcore: Split off RealView MPCore default-configs/arm-softmmu.mak | 1 + hw/cpu/Makefile.objs | 1 + hw/cpu/a15mpcore.c | 81 ++++++------- hw/cpu/a9mpcore.c | 120 +++++++++++-------- hw/cpu/arm11mpcore.c | 251 ++++++++++----------------------------- hw/cpu/realview_mpcore.c | 139 ++++++++++++++++++++++ hw/intc/arm_gic_common.c | 18 +-- hw/intc/gic_internal.h | 80 +------------ hw/intc/realview_gic.c | 58 +++++---- hw/misc/Makefile.objs | 3 +- hw/misc/a9scu.c | 25 +--- hw/misc/arm11scu.c | 100 ++++++++++++++++ hw/timer/arm_mptimer.c | 60 +++------- include/hw/cpu/a15mpcore.h | 44 +++++++ include/hw/cpu/a9mpcore.h | 37 ++++++ include/hw/cpu/arm11mpcore.h | 35 ++++++ include/hw/intc/arm_gic.h | 42 +++++++ include/hw/intc/arm_gic_common.h | 92 ++++++++++++++ include/hw/intc/realview_gic.h | 28 +++++ include/hw/misc/a9scu.h | 31 +++++ include/hw/misc/arm11scu.h | 29 +++++ include/hw/timer/arm_mptimer.h | 54 +++++++++ 22 files changed, 879 insertions(+), 450 deletions(-) create mode 100644 hw/cpu/realview_mpcore.c create mode 100644 hw/misc/arm11scu.c create mode 100644 include/hw/cpu/a15mpcore.h create mode 100644 include/hw/cpu/a9mpcore.h create mode 100644 include/hw/cpu/arm11mpcore.h create mode 100644 include/hw/intc/arm_gic.h create mode 100644 include/hw/intc/arm_gic_common.h create mode 100644 include/hw/intc/realview_gic.h create mode 100644 include/hw/misc/a9scu.h create mode 100644 include/hw/misc/arm11scu.h create mode 100644 include/hw/timer/arm_mptimer.h -- 1.8.1.4