On a Tuesday in 2025, Narayana Murty N wrote:
This patch series introduces the necessary changes to
support the POWER11 CPU and POWER11 host in libvirt.
Additionally, it updates the QEMU capabilities with
the latest QEMU version v10.0.0 to include power11
in the capabilities tests.During testing of v2 patches
found a bug in qemu which sets wrong default cpu for
pre-9.0 machines, that was fixed in qemu v10.0.0.

Patch Summary:
Patch 0001: tests: Pin pseries-2.7 tests to the version 7.0.
Patch 0002: Fix: qemuhotplugtest Set the cpu version at source as POWER9.
Patch 0003: Add capabilities test support for QEMU 10.0.0 on PPC64.
Patch 0004: Add POWER11 CPU model support.
Patch 0005: Add POWER11 host model support.

The corresponding patches for the Linux kernel and QEMU
are already upstream. Relevant links are provided below:

Linux kernel patches:
1. Linux P11 support: commit c2ed087ed35c ("powerpc: Add Power11 architected and raw 
mode")
2. Linux P11 KVM support: commit 96e266e3bcd6 ("KVM: PPC: Book3S HV: Add Power11 
capability support for Nested PAPR guests")
Qemu patches:
3. Qemu P11 support: commit 273db89bcaf4 ("ppc/pseries: Add Power11 cpu type")
4. Qemu P11 DD02.0 support: commit c0d964076c3e ("target/ppc: Add Power11 DD2.0 
processor")
5. Qemu pre-9.0 pseries michines changing default cpu with Qemu commit 1490d0bcdfcb 
("ppc/spapr: fix default cpu for pre-9.0 machines.").

Note on CPU model naming:
From the discussion in the community thread
(https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ICUSILEYQYFTZMFTVUL2Q3H3LKIVSKXI/#JFGRGPBKRX7I2TQNNXCO4BB6Q3DSDLT3),
we will continue using the uppercase only for POWER11 for the CPU model name.
This is consistent with the naming convention used for existing POWER models
(e.g., POWER9, POWER10) in libvirt's CPU map and avoids compatibility issues
with existing tooling and test expectations.

Signed-off-by: Narayana Murty N <nnmli...@linux.ibm.com>

----
Changelog:
-V4: 
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ICUSILEYQYFTZMFTVUL2Q3H3LKIVSKXI/#JFGRGPBKRX7I2TQNNXCO4BB6Q3DSDLT3
 *Continue to use POWER11 in uppercase, following feedback.
 *Test data caps_10.0.0.ppc64.replies generated with QEMU v10.0.0.
-V3: 
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/PGSBL6L7TCWIVOJOP2VNHWLRUL7VW7R6/
 *Rebased to top of the tree as I saw some tests were failing with
  recent commits.
-V2:https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/JQ5UJFWJG35OFX54RQIDHFUSX3RIYIYP/?sort=thread
 *Instead of removing pseries-2.7 related tests, they are now pinned to the 
latest available capabilities version 7.0.0.
 *patch0003: description explained why the cpu version changed.
 *change the cpu model name to lower case.
 *Fixing the hotplugtest by setting  the cpu version at source as POWER9
 *default CPU change for pseries machines preior to pseries-9.0 tests cases for 
tcg fixed.
 * Fixing the compat models check for host CPU names in both lowercase and 
uppercase.
-V1:https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/4A3IND2QP5CE654XE755ICRZKLUNYXAE/
 *Addressed v2 patch readability issues.

Narayana Murty N (5):
 tests: Pin pseries-2.7 tests to the version 7.0
 tests: qemuhotplugtest: Set the cpu version at source for PPC64 tests
 tests: Add capabilities for QEMU 10.0.0 on ppc64
 cpu_map: Add POWER11 CPU model support
 cpu_ppc64: Add POWER11 host-model support

src/cpu/cpu_ppc64.c                           |     8 +-
src/cpu_map/index.xml                         |     1 +
src/cpu_map/meson.build                       |     1 +

[...]

tests/testutilshostcpus.h                     |    11 +
tests/testutilsqemu.c                         |     4 +
tests/testutilsqemu.h                         |     1 +
101 files changed, 41005 insertions(+), 101 deletions(-)
create mode 100644 src/cpu_map/ppc64_POWER11.xml
create mode 100644 tests/domaincapsdata/qemu_10.0.0.ppc64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_ppc64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_ppc64.xml
rename tests/qemuxmlconfdata/{ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args 
=> ppc64-default-cpu-kvm-pseries-2.7.ppc64-7.0.0.args} (100%)
rename tests/qemuxmlconfdata/{ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.xml 
=> ppc64-default-cpu-kvm-pseries-2.7.ppc64-7.0.0.xml} (100%)
rename tests/qemuxmlconfdata/{ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args 
=> ppc64-default-cpu-tcg-pseries-2.7.ppc64-7.0.0.args} (100%)
rename tests/qemuxmlconfdata/{ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.xml 
=> ppc64-default-cpu-tcg-pseries-2.7.ppc64-7.0.0.xml} (100%)
create mode 100644 
tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.args
create mode 100644 
tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.err
create mode 100644 
tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.xml
create mode 100644 tests/qemuxmlconfdata/pseries-cpu-compat-power11.xml


Reviewed-by: Ján Tomko <jto...@redhat.com>

I will push this after my pipeline succeeds.

Jano

Attachment: signature.asc
Description: PGP signature

Reply via email to