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 <nnmlinux@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 <jtomko@redhat.com>
I will push this after my pipeline succeeds.
Jano