qemu-ppc
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]