[RFC PATCH 22/43] qemu: capabilities: Move setting of PPC specific flags to virQEMUCapsInitQMPBasicArch

Peter Krempa pkrempa at redhat.com
Fri Apr 9 14:56:58 UTC 2021


QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT and
QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT are now always asserted on PPC
machine types, move them to virQEMUCapsInitQMPBasicArch.

It's now always set for AARCH64, move it into the function setting basic
caps for the emulator.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_capabilities.c                        | 13 ++++---------
 .../qemuxml2argvdata/pseries-cpu-compat-power9.args |  4 ++--
 tests/qemuxml2argvdata/pseries-cpu-compat.args      |  4 ++--
 3 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 535f2d7e55..347e32d68b 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -5066,6 +5066,10 @@ virQEMUCapsInitQMPBasicArch(virQEMUCapsPtr qemuCaps)

     case VIR_ARCH_PPC64:
     case VIR_ARCH_PPC64LE:
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT);
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT);
+        break;
+
     case VIR_ARCH_ALPHA:
     case VIR_ARCH_PPC:
     case VIR_ARCH_PPCEMB:
@@ -5125,15 +5129,6 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCapsPtr qemuCaps)
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_EGL_HEADLESS);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_NUMA_DIST);

-    if (ARCH_IS_PPC64(qemuCaps->arch)) {
-        /* HPT resizing is supported since QEMU 2.10 on ppc64; unfortunately
-         * there's no sane way to probe for it */
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT);
-
-        /* no way to query max-cpu-compat */
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT);
-    }
-
     /* -enable-fips is deprecated in QEMU 5.2.0, and QEMU
      * should be built with gcrypt to achieve FIPS compliance
      * automatically / implicitly
diff --git a/tests/qemuxml2argvdata/pseries-cpu-compat-power9.args b/tests/qemuxml2argvdata/pseries-cpu-compat-power9.args
index 00857740ae..f7f500da39 100644
--- a/tests/qemuxml2argvdata/pseries-cpu-compat-power9.args
+++ b/tests/qemuxml2argvdata/pseries-cpu-compat-power9.args
@@ -10,8 +10,8 @@ QEMU_AUDIO_DRV=none \
 /usr/bin/qemu-system-ppc64 \
 -name QEMUGuest1 \
 -S \
--machine pseries,accel=kvm,usb=off,dump-guest-core=off \
--cpu host,compat=power9 \
+-machine pseries,accel=kvm,usb=off,dump-guest-core=off,max-cpu-compat=power9 \
+-cpu host \
 -m 256 \
 -realtime mlock=off \
 -smp 4,sockets=4,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/pseries-cpu-compat.args b/tests/qemuxml2argvdata/pseries-cpu-compat.args
index 8ace0b1623..7871651f9b 100644
--- a/tests/qemuxml2argvdata/pseries-cpu-compat.args
+++ b/tests/qemuxml2argvdata/pseries-cpu-compat.args
@@ -10,8 +10,8 @@ QEMU_AUDIO_DRV=none \
 /usr/bin/qemu-system-ppc64 \
 -name QEMUGuest1 \
 -S \
--machine pseries,accel=kvm,usb=off,dump-guest-core=off \
--cpu host,compat=power7 \
+-machine pseries,accel=kvm,usb=off,dump-guest-core=off,max-cpu-compat=power7 \
+-cpu host \
 -m 256 \
 -realtime mlock=off \
 -smp 4,sockets=4,cores=1,threads=1 \
-- 
2.30.2




More information about the libvir-list mailing list