[PATCH v2 00/10] Power11 support for QEMU

Aditya Gupta posted 10 patches 1 week, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240426110023.733309-1-adityag@linux.ibm.com
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Nicholas Piggin <npiggin@gmail.com>, "Frédéric Barrat" <fbarrat@linux.ibm.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>
docs/system/ppc/powernv.rst |   9 +--
docs/system/ppc/pseries.rst |   6 +-
hw/ppc/pnv.c                | 107 ++++++++++++++++++++++++++++++++++--
hw/ppc/pnv_core.c           |  16 +++++-
hw/ppc/pnv_homer.c          |   8 +++
hw/ppc/pnv_lpc.c            |  14 +++++
hw/ppc/pnv_occ.c            |  14 +++++
hw/ppc/pnv_psi.c            |  24 ++++++++
hw/ppc/pnv_sbe.c            |  15 +++++
hw/ppc/spapr.c              |   2 +-
hw/ppc/spapr_cpu_core.c     |   1 +
include/hw/ppc/pnv.h        |   5 ++
include/hw/ppc/pnv_chip.h   |  20 +++++++
include/hw/ppc/pnv_homer.h  |   3 +
include/hw/ppc/pnv_lpc.h    |   4 ++
include/hw/ppc/pnv_occ.h    |   2 +
include/hw/ppc/pnv_psi.h    |   2 +
include/hw/ppc/pnv_sbe.h    |   2 +
pc-bios/skiboot.lid         | Bin 2527328 -> 2527328 bytes
target/ppc/compat.c         |   7 +++
target/ppc/cpu-models.c     |   2 +
target/ppc/cpu-models.h     |   2 +
target/ppc/cpu_init.c       |  99 +++++++++++++++++++++++++++++++++
23 files changed, 350 insertions(+), 14 deletions(-)
[PATCH v2 00/10] Power11 support for QEMU
Posted by Aditya Gupta 1 week, 4 days ago
Overview
============

Add support for Power11 pseries and powernv machine types, to emulate VMs
running on Power11.

As Power11 core is same as Power10, hence much of the code has been reused from
Power10.

Also make Power11 as default cpu type for 'pseries' and 'powernv'
machine types, with Power11 being the newest supported Power processor in QEMU.

Git Tree for Testing
====================

QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v2

Has been tested with following cases:
* '-M pseries' / '-M pseries -cpu Power11'
* '-M powernv' / '-M powernv10' / '-M powernv11'
* '-smp' option tested
* with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
* with/without device 'virtio-scsi-pci'
* with/without -kernel and -drive with qcow_file

skiboot with Power11 support: https://github.com/maheshsal/skiboot/tree/upstream_power11

Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1

Changelog
=========
v2:
  + split powernv patch into homer,lpc,occ,psi,sbe
  + reduce code duplication by reusing power10 code
  + make power11 as default
  + rebase on qemu upstream/master
  + add more information in commit descriptions
  + update docs
  + update skiboot.lid

Aditya Gupta (10):
  ppc/pseries: Add Power11 cpu type
  ppc/pnv: Introduce 'PnvChipClass::chip_type'
  ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine
  ppc/pnv: Add HOMER for POWER11
  ppc/pnv: Add a LPC controller for POWER11
  ppc/pnv: Add OCC for Power11
  ppc/pnv: Add a PSI bridge model for Power11
  ppc/pnv: Add SBE model for Power11
  ppc: Make Power11 as default cpu type for 'pseries' and 'powernv'
  ppc/pnv: Update skiboot.lid to support Power11

 docs/system/ppc/powernv.rst |   9 +--
 docs/system/ppc/pseries.rst |   6 +-
 hw/ppc/pnv.c                | 107 ++++++++++++++++++++++++++++++++++--
 hw/ppc/pnv_core.c           |  16 +++++-
 hw/ppc/pnv_homer.c          |   8 +++
 hw/ppc/pnv_lpc.c            |  14 +++++
 hw/ppc/pnv_occ.c            |  14 +++++
 hw/ppc/pnv_psi.c            |  24 ++++++++
 hw/ppc/pnv_sbe.c            |  15 +++++
 hw/ppc/spapr.c              |   2 +-
 hw/ppc/spapr_cpu_core.c     |   1 +
 include/hw/ppc/pnv.h        |   5 ++
 include/hw/ppc/pnv_chip.h   |  20 +++++++
 include/hw/ppc/pnv_homer.h  |   3 +
 include/hw/ppc/pnv_lpc.h    |   4 ++
 include/hw/ppc/pnv_occ.h    |   2 +
 include/hw/ppc/pnv_psi.h    |   2 +
 include/hw/ppc/pnv_sbe.h    |   2 +
 pc-bios/skiboot.lid         | Bin 2527328 -> 2527328 bytes
 target/ppc/compat.c         |   7 +++
 target/ppc/cpu-models.c     |   2 +
 target/ppc/cpu-models.h     |   2 +
 target/ppc/cpu_init.c       |  99 +++++++++++++++++++++++++++++++++
 23 files changed, 350 insertions(+), 14 deletions(-)

-- 
2.44.0