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