[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'if
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH v3 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'ification |
Date: |
Tue, 20 Aug 2013 17:20:52 +0200 |
From: Andreas Färber <address@hidden>
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 in v3 ARM11MPCore.
Separate headers are introduced to only expose device state to whom asks for it.
I didn't encounter any property that strictly needs changing:
num-cpu and num-irq don't create varying numbers of child devices, they only
influence MemoryRegions and qemu_irqs.
Regards,
Andreas
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 <address@hidden>
Cc: Anthony Liguori <address@hidden>
Cc: Peter Crosthwaite <address@hidden>
Cc: Hu Tao <address@hidden>
Cc: Mian M. Hamayun <address@hidden>
Cc: Claudio Fontana <address@hidden>
Cc: address@hidden
Cc: Alexey Kardashevskiy <address@hidden>
Andreas Färber (24):
cpu/a9mpcore: Split off instance_init
intc/arm_gic: Extract headers hw/intc/arm_gic{,_common}.h
cpu/a9mpcore: Embed GICState
misc/a9scu: QOM cleanups
cpu/a9mpcore: Embed A9SCUState
timer/arm_mptimer: Convert to QOM realize
cpu/a9mpcore: Embed ARMMPTimerState
cpu/a9mpcore: Convert to QOM realize
cpu/a9mpcore: Prepare for QOM embedding
cpu/a15mpcore: Split off instance_init
cpu/a15mpcore: Embed GICState
cpu/a15mpcore: Convert to QOM realize
cpu/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 | 75 ++++++------
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, 876 insertions(+), 447 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
- [Qemu-devel] [PATCH v3 00/24] arm: ARM11MPCore+A9MPCore+A15MPCore QOM'ification,
Andreas Färber <=
- [Qemu-devel] [PATCH v3 02/24] intc/arm_gic: Extract headers hw/intc/arm_gic{, _common}.h, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 14/24] a9scu: Build only once, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 01/24] cpu/a9mpcore: Split off instance_init, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 03/24] cpu/a9mpcore: Embed GICState, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 10/24] cpu/a15mpcore: Split off instance_init, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 08/24] cpu/a9mpcore: Convert to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 11/24] cpu/a15mpcore: Embed GICState, Andreas Färber, 2013/08/20