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.
Power11 was added in Linux in:
commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")
Git Tree for Testing
====================
QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v3
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
Note: This patch series does not add tests as of now, and will be done as
soon as skiboot support for Power11 gets merged, and op-build adds a
release for Power11
Changelog
=========
v4:
+ patch #5: fix memory leak in pnv_chip_power10_quad_realize
- no change in other patches
v3:
+ patch #1: version power11 as power11_v2.0
+ patch #2: split target hw/pseries code into patch #2
+ patch #3,#4: fix regression due to Power10 and Power11 having same PCR
+ patch #5: create pnv_chip_power11_dt_populate and split pnv_chip_power10_common_realize as per review
+ patch #6-#11: no change
- remove commit to make Power11 as default
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 (11):
ppc: Add Power11 DD2.0 processor
ppc/pseries: Add Power11 cpu type
target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
target/ppc: Fix regression due to Power10 and Power11 having same PCR
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/pnv: Update skiboot.lid to support Power11
docs/system/ppc/powernv.rst | 9 +--
docs/system/ppc/pseries.rst | 6 +-
hw/ppc/pnv.c | 120 ++++++++++++++++++++++++++++++++++--
hw/ppc/pnv_core.c | 11 ++++
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_cpu_core.c | 1 +
include/hw/ppc/pnv.h | 5 ++
include/hw/ppc/pnv_chip.h | 7 +++
include/hw/ppc/pnv_core.h | 1 +
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 | 11 ++++
target/ppc/cpu-models.c | 3 +
target/ppc/cpu-models.h | 3 +
target/ppc/cpu.h | 1 +
target/ppc/cpu_init.c | 107 ++++++++++++++++++++++++++++++++
24 files changed, 362 insertions(+), 11 deletions(-)
--
2.45.1