From: Aditya Gupta <adityag@linux.ibm.com>
To: "Mahesh J Salgaonkar" <mahesh@linux.ibm.com>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Cédric Le Goater" <clg@kaod.org>,
"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
"Frédéric Barrat" <fbarrat@linux.ibm.com>
Cc: <qemu-devel@nongnu.org>, <qemu-ppc@nongnu.org>
Subject: [PATCH v5 0/8] Power11 support for QEMU [PowerNV]
Date: Sun, 9 Mar 2025 02:21:33 +0530 [thread overview]
Message-ID: <20250308205141.3219333-1-adityag@linux.ibm.com> (raw)
Overview
============
Add support for Power11 powernv machine type, to emulate PowerNV VMs
running on Power11.
As Power11 core is same as Power10, hence much of the code has been reused
from Power10. And Power10 PNV Chip has been declared as parent of Power11
PNV Chip so that any existing/new functionality can also be reused for
Power11.
This parent/child hierarchy causes an issue in .instance_init, as parent's
instance_init is also called for the child object. Skip initialising child
objects in P10's instance init if we have a P11 chip, this prevents
initialising same objects twice by p10 and p11 instance inits.
Power11 PSeries already added in QEMU in:
commit 273db89bcaf4 ("ppc/pseries: Add Power11 cpu type")
Git Tree for Testing
====================
QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-powernv-v5
Has been tested with following cases:
* '-M powernv' / '-M powernv10' / '-M powernv11'
* '-smp' option tested
skiboot with Power11 support: https://github.com/open-power/skiboot, since
commit 785a5e3
Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1
Note: Functional test not added now, will add as soon as op-build releases
new kernel image with Power11 support
Changelog
=========
v5:
+ add chiptod
+ add instance_init for P11 to use P11 models
+ move patch introducing Pnv11Chip to the last
+ update skiboot.lid to skiboot's upstream/master
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 (8):
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: Add ChipTOD model for Power11
ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine
ppc/pnv: Update skiboot to support Power11
docs/system/ppc/powernv.rst | 9 +-
hw/ppc/pnv.c | 177 ++++++++++++++++++++++++-
hw/ppc/pnv_chiptod.c | 37 ++++++
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 +++
include/hw/ppc/pnv.h | 5 +
include/hw/ppc/pnv_chip.h | 7 +
include/hw/ppc/pnv_chiptod.h | 2 +
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 -> 2527424 bytes
19 files changed, 321 insertions(+), 10 deletions(-)
--
2.48.1
next reply other threads:[~2025-03-08 20:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-08 20:51 Aditya Gupta [this message]
2025-03-08 20:51 ` [PATCH v5 1/8] ppc/pnv: Add HOMER for POWER11 Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 2/8] ppc/pnv: Add a LPC controller " Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 3/8] ppc/pnv: Add OCC for Power11 Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 4/8] ppc/pnv: Add a PSI bridge model " Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 5/8] ppc/pnv: Add SBE " Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 6/8] ppc/pnv: Add ChipTOD " Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 7/8] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine Aditya Gupta
2025-03-09 14:08 ` Cédric Le Goater
2025-03-10 10:29 ` Aditya Gupta
2025-03-24 7:13 ` Aditya Gupta
2025-03-24 7:35 ` Cédric Le Goater
2025-03-24 8:38 ` Aditya Gupta
2025-03-08 20:51 ` [PATCH v5 8/8] ppc/pnv: Update skiboot to support Power11 Aditya Gupta
2025-03-09 14:10 ` Cédric Le Goater
2025-03-10 10:31 ` Aditya Gupta
2025-03-10 11:45 ` Cédric Le Goater
2025-03-10 14:59 ` Aditya Gupta
2025-03-10 15:33 ` Cédric Le Goater
2025-03-11 8:39 ` Nicholas Piggin
2025-03-11 8:46 ` Cédric Le Goater
2025-03-11 8:50 ` Aditya Gupta
2025-03-24 7:41 ` [PATCH v5 0/8] Power11 support for QEMU [PowerNV] Cédric Le Goater
2025-03-25 11:28 ` Aditya Gupta
2025-03-25 12:07 ` Cédric Le Goater
2025-03-25 17:11 ` Aditya Gupta
2025-03-25 17:16 ` Cédric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250308205141.3219333-1-adityag@linux.ibm.com \
--to=adityag@linux.ibm.com \
--cc=clg@kaod.org \
--cc=fbarrat@linux.ibm.com \
--cc=harshpb@linux.ibm.com \
--cc=maddy@linux.ibm.com \
--cc=mahesh@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).