[PATCH v2 0/3] Add ASPEED AST2400 machine model
Andrew Jeffery
andrew at aj.id.au
Tue Feb 16 22:34:54 AEDT 2016
Hi all,
This is the first time I've implemented QEMU device models so no doubt the
patches contain misunderstandings and/or oversights - happy to hear any
feedback!
This patch series implements enough of the ASPEED AST2400 (ARMv5 SoC) machine
model to boot an aspeed_defconfig Linux kernel[1]. The device model patches in
turn only partially implement the hardware features of the timer and AVIC,
again mostly just enough to boot Linux.
The addition of the AST2400 to QEMU is motivated by use of the SoC as a BMC in
OpenPOWER[2][3] machines and the ongoing development of OpenBMC[4]. The
presence of a machine model for the AST2400 will help with development and
testing of the OpenBMC stack.
I posted an initial revision to the OpenBMC mailing list (CC'ed) for review,
hence the v2.
Cheers,
Andrew
[1] git fetch git at github.com:openbmc/linux.git dev-4.3
[2] http://openpowerfoundation.org/
[3] https://github.com/open-power/
[4] https://github.com/openbmc/openbmc
===
Since v1:
Address comments from Cédric Le Goater:
General:
* Use tracing infrastructure instead of internal DPRINTF
* Enforce access size constraints and alignment in MemoryRegionOps
hw/timer/aspeed_timer.c:
* Refactor initialisation of and respect requested clock rates (APB/External)
* Simplify some index calculations
===
Andrew Jeffery (3):
hw/timer: Add ASPEED AST2400 timer device model
hw/intc: Add (new) ASPEED AST2400 AVIC device model
hw/arm: Add ASPEED AST2400 machine type
default-configs/arm-softmmu.mak | 2 +
hw/arm/Makefile.objs | 1 +
hw/arm/ast2400.c | 139 ++++++++++++++++++
hw/intc/Makefile.objs | 1 +
hw/intc/aspeed_vic.c | 256 +++++++++++++++++++++++++++++++++
hw/timer/Makefile.objs | 2 +
hw/timer/aspeed_timer.c | 308 ++++++++++++++++++++++++++++++++++++++++
include/hw/intc/aspeed_vic.h | 40 ++++++
include/hw/timer/aspeed_timer.h | 55 +++++++
trace-events | 22 +++
10 files changed, 826 insertions(+)
create mode 100644 hw/arm/ast2400.c
create mode 100644 hw/intc/aspeed_vic.c
create mode 100644 hw/timer/aspeed_timer.c
create mode 100644 include/hw/intc/aspeed_vic.h
create mode 100644 include/hw/timer/aspeed_timer.h
--
2.5.0
More information about the openbmc
mailing list