qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'ification
@ 2013-09-11 14:37 Andreas Färber
  2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 01/24] a9mpcore: Split off instance_init Andreas Färber
                   ` (24 more replies)
  0 siblings, 25 replies; 29+ messages in thread
From: Andreas Färber @ 2013-09-11 14:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Andreas Färber, Claudio Fontana,
	Peter Crosthwaite, Mian M. Hamayun

From: Andreas Färber <andreas.faerber@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.maydell@linaro.org>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Cc: Mian M. Hamayun <m.hamayun@virtualopensystems.com>
Cc: Claudio Fontana <claudio.fontana@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

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2013-09-18 17:06 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-11 14:37 [Qemu-devel] [PATCH v4 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'ification Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 01/24] a9mpcore: Split off instance_init Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 02/24] arm_gic: Extract headers hw/intc/arm_gic{, _common}.h Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 03/24] a9mpcore: Embed GICState Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 04/24] a9scu: QOM cleanups Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 05/24] a9mpcore: Embed A9SCUState Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 06/24] arm_mptimer: Convert to QOM realize Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 07/24] a9mpcore: Embed ARMMPTimerState Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 08/24] a9mpcore: Convert to QOM realize Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 09/24] a9mpcore: Prepare for QOM embedding Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 10/24] a15mpcore: Split off instance_init Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 11/24] a15mpcore: Embed GICState Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 12/24] a15mpcore: Convert to QOM realize Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 13/24] a15mpcore: Prepare for QOM embedding Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 14/24] a9scu: Build only once Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 15/24] arm11mpcore: Fix typo in MemoryRegion name Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 16/24] arm11mpcore: Drop unused fields Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 17/24] arm11mpcore: Create container MemoryRegion in instance_init Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 18/24] arm11mpcore: Split off SCU device Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 19/24] arm11mpcore: Convert ARM11MPCorePriveState to QOM realize Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 20/24] realview_gic: Convert " Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 21/24] realview_gic: Prepare for QOM embedding Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 22/24] arm11mpcore: Convert mpcore_rirq_state to QOM realize Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 23/24] arm11mpcore: Prepare for QOM embedding Andreas Färber
2013-09-11 14:37 ` [Qemu-devel] [PATCH v4 24/24] arm11mpcore: Split off RealView MPCore Andreas Färber
2013-09-13 15:33   ` Peter Maydell
2013-09-13 15:40     ` Andreas Färber
2013-09-13 15:38 ` [Qemu-devel] [PATCH v4 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'ification Peter Maydell
2013-09-18 17:06   ` Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).