[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v2 0/7] ppc/pnv: add a minimal platform
From: |
Cédric Le Goater |
Subject: |
[Qemu-ppc] [PATCH v2 0/7] ppc/pnv: add a minimal platform |
Date: |
Wed, 31 Aug 2016 18:34:08 +0200 |
Hello,
Here is a new version to address the comments from v1 plus a couple of
improvements, the most important being :
- PnvChip now has PnvChipClass depending on the cpu model
- the device tree uses the fdt "rw" routines
- the XSCOM bus makes its first appearance.
- the cores now use real HW ids ! 'cpu_dt_id' is dead, long live
'cpu_index'
The patchset is organised the same way, the initial patch provides a
minimal platform with some RAM to load ROMs, firmware, kernel,
initrd. The device tree is built with what is available at reset time.
Then, comes the PnvChip object acting as a container for other devices
required to run a system. First of these is XSCOM, the sideband bus
which gives controls to all the units in the POWER8 chip and then the
cores.
Last is a little fix to dump the cpus from the monitor.
The PowerNV platform provides just enough support to be run under
qemu, so that you can check the qom tree, dump the device tree from
ram, show the cpus, etc. It still lacks quite a few controllers to be
useful.
The next major task is XICS as it does not support real HW ids for the
cpus. There are some initial patches and hacks for that in my dev
branch. If you feel adventurous, you can give it a try here :
https://github.com/legoater/qemu/commits/powernv-ipmi-2.8
Just add on the command line :
-smp cores=8
Thanks,
C.
Benjamin Herrenschmidt (2):
ppc/pnv: add skeleton PowerNV platform
ppc/pnv: Add XSCOM infrastructure
Cédric Le Goater (5):
ppc/pnv: add a PnvChip object
ppc/pnv: add a core mask to PnvChip
ppc/pnv: add a PnvCore object
ppc/pnv: add a XScomDevice to PnvCore
monitor: fix crash for platforms without a CPU 0
default-configs/ppc64-softmmu.mak | 1 +
hw/ppc/Makefile.objs | 2 +
hw/ppc/pnv.c | 649 ++++++++++++++++++++++++++++++++++++++
hw/ppc/pnv_core.c | 237 ++++++++++++++
hw/ppc/pnv_xscom.c | 408 ++++++++++++++++++++++++
include/hw/ppc/pnv.h | 119 +++++++
include/hw/ppc/pnv_core.h | 60 ++++
include/hw/ppc/pnv_xscom.h | 75 +++++
monitor.c | 2 +-
9 files changed, 1552 insertions(+), 1 deletion(-)
create mode 100644 hw/ppc/pnv.c
create mode 100644 hw/ppc/pnv_core.c
create mode 100644 hw/ppc/pnv_xscom.c
create mode 100644 include/hw/ppc/pnv.h
create mode 100644 include/hw/ppc/pnv_core.h
create mode 100644 include/hw/ppc/pnv_xscom.h
--
2.7.4
- [Qemu-ppc] [PATCH v2 0/7] ppc/pnv: add a minimal platform,
Cédric Le Goater <=
- [Qemu-ppc] [PATCH v2 1/7] ppc/pnv: add skeleton PowerNV platform, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 3/7] ppc/pnv: Add XSCOM infrastructure, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 2/7] ppc/pnv: add a PnvChip object, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 4/7] ppc/pnv: add a core mask to PnvChip, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 5/7] ppc/pnv: add a PnvCore object, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 6/7] ppc/pnv: add a XScomDevice to PnvCore, Cédric Le Goater, 2016/08/31
- [Qemu-ppc] [PATCH v2 7/7] monitor: fix crash for platforms without a CPU 0, Cédric Le Goater, 2016/08/31