Bug 2368135 - [P11 Support] :: Need P11 Support in Libvirt
Summary: [P11 Support] :: Need P11 Support in Libvirt
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 42
Hardware: ppc64le
OS: All
unspecified
high
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-05-23 05:10 UTC by IBM Bug Proxy
Modified: 2025-09-22 08:21 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-09-09 11:54:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
IBM Linux Technology Center 213597 0 None None None 2025-05-23 05:10:56 UTC

Description IBM Bug Proxy 2025-05-23 05:10:30 UTC

Comment 1 IBM Bug Proxy 2025-05-23 05:10:44 UTC
== Comment: #0 - SEETEENA THOUFEEK <sthoufee.com> - 2025-05-23 00:00:35 ==
+++ This bug was initially created as a clone of Bug #208894 +++

This is identified as part of
https://bugzilla.linux.ibm.com/show_bug.cgi?id=208629, where below two issues
have been identified:

1. Libvirt needs support for P11 added
2. Guest when booted with Libvirt is not able to identify any disks and drops
   into dracut emergency shell while the same QCOW2 boots fine with a direct
   QEMU command line.

The issues have been explained to Narayana offline and further details can be
found in the comments for BZ208629.

The following changes to Libvirt code fixing the issue and with custom build qemu-system-ppc64 (with patch series https://lore.kernel.org/all/20240731055022.696051-1-adityag@linux.ibm.com/ applied ), booting the guest :

1. /*The git diff output */
diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c
index 13f5fc9c2c..8673d4f759 100644
--- a/src/cpu/cpu_ppc64.c
+++ b/src/cpu/cpu_ppc64.c
@@ -93,22 +93,22 @@ ppc64CheckCompatibilityMode(const char *host_model,
     if (!compat_mode)
         return VIR_CPU_COMPARE_IDENTICAL;
 
-    /* Valid host CPUs: POWER6, POWER7, POWER8, POWER9, POWER10 */
+    /* Valid host CPUs: POWER6, POWER7, POWER8, POWER9, POWER10, POWER11 */
     if (!STRPREFIX(host_model, "POWER") ||
         !(tmp = (char *) host_model + strlen("POWER")) ||
         virStrToLong_i(tmp, NULL, 10, &host) < 0 ||
-        host < 6 || host > 10) {
+        host < 6 || host > 11) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        "%s",
                        _("Host CPU does not support compatibility modes"));
         return VIR_CPU_COMPARE_ERROR;
     }
 
-    /* Valid compatibility modes: power6, power7, power8, power9, power10 */
+    /* Valid compatibility modes: power6, power7, power8, power9, power10, power11 */
     if (!STRPREFIX(compat_mode, "power") ||
         !(tmp = (char *) compat_mode + strlen("power")) ||
         virStrToLong_i(tmp, NULL, 10, &compat) < 0 ||
-        compat < 6 || compat > 10) {
+        compat < 6 || compat > 11) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Unknown compatibility mode %1$s"),
                        compat_mode);

--------------------
2. The guest console output for lscpu: 
??[root@localhost]?[~]
???? # lscpu 
Architecture:             ppc64le
  Byte Order:             Little Endian
CPU(s):                   4
  On-line CPU(s) list:    0-3
Model name:               POWER10 (architected), altivec supported
  Model:                  18.0 (pvr 0082 1200)
  Thread(s) per core:     1
  Core(s) per socket:     1
  Socket(s):              4
Virtualization features:  
  Hypervisor vendor:      KVM
  Virtualization type:    para
Caches (sum of all):      
  L1d:                    128 KiB (4 instances)
  L1i:                    128 KiB (4 instances)
NUMA:                     
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-3
Vulnerabilities:          
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Mitigation; RFI Flush, L1D private per thread
  Mds:                    Not affected
  Meltdown:               Mitigation; RFI Flush, L1D private per thread
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Kernel entry/exit barrier (eieio)
  Spectre v1:             Mitigation; __user pointer sanitization
  Spectre v2:             Mitigation; Software count cache flush (hardware accel
                          erated), Software link stack flush
  Srbds:                  Not affected
  Tsx async abort:        Not affected



New patch for libvirt support for p11 and test capabilities (including fixes for compatibility mode test xml) are posted in up stream ( https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ICUSILEYQYFTZMFTVUL2Q3H3LKIVSKXI/). The Main change in the patch is cpu-model name will be in lowercase (power11) similar to qemu as suggested by the maintainers.


please integrate this patches 


The patches accepted upstream

7b0888b4ef cpu_ppc64: Add POWER11 host-model support
e17aa7408c cpu_map: Add POWER11 CPU model support
a714d53f74 tests: Add capabilities for QEMU 10.0.0 on ppc64
1c077f6a73 tests: qemuhotplugtest: Set the cpu version at source for PPC64 tests
0742b6487a tests: Pin pseries-2.7 tests to the version 7.0

Comment 2 Cole Robinson 2025-06-03 14:45:24 UTC
Backporting these changes is kinda messy because of all the capabilities differences. Since this sounds like effectively new feature support, I think it's better to just say 'power 11 isn't supported until libvirt 11.4.0 which you can get from virt-preview repo' and fedora 43 libvirt will have native support. is that sufficient?

Comment 3 IBM Bug Proxy 2025-06-13 02:10:27 UTC
------- Comment From Narayana.Murty.Nagarampalli 2025-06-12 22:02 EDT-------
Which RHEL version could we expect POWER11 supported on libvirt-11.4?

Comment 4 Daniel Berrangé 2025-06-13 07:09:41 UTC
(In reply to IBM Bug Proxy from comment #3)
> ------- Comment From Narayana.Murty.Nagarampalli 2025-06-12 22:02
> EDT-------
> Which RHEL version could we expect POWER11 supported on libvirt-11.4?

This is a Fedora bug tracker. If you have requests/expectations for RHEL, in general, you need to file a RHEL request.

Note, however, that support for the ppc64 architecture was dropped from QEMU/KVM RHEL-9

Comment 5 IBM Bug Proxy 2025-09-09 11:40:44 UTC
------- Comment From Narayana.Murty.Nagarampalli 2025-09-09 07:39 EDT-------
(In reply to comment #4)
> Backporting these changes is kinda messy because of all the capabilities
> differences. Since this sounds like effectively new feature support, I think
> it's better to just say 'power 11 isn't supported until libvirt 11.4.0 which
> you can get from virt-preview repo' and fedora 43 libvirt will have native
> support. is that sufficient?

I agree with this approach. Backporting the changes is indeed complicated due to capability differences, and given that this effectively introduces new feature support, it makes sense to state that Power11 support will come with libvirt 11.4.0 available via the virt-preview repository. Including this natively in Fedora 43 should be sufficient. No need to backport to earlier releases.

Comment 6 IBM Bug Proxy 2025-09-22 08:21:27 UTC
------- Comment From sthoufee.com 2025-09-22 04:13 EDT-------
the status of RHEL bug is closed as WONT FIX. Is this changes would be integrated in F43 ?


Note You need to log in before you can comment on or make changes to this bug.