a41c76
From 694540f2c93ccee78e203c5fe92be5e1a05a2281 Mon Sep 17 00:00:00 2001
a41c76
Message-Id: <694540f2c93ccee78e203c5fe92be5e1a05a2281@dist-git>
a41c76
From: Andrea Bolognani <abologna@redhat.com>
a41c76
Date: Fri, 14 Feb 2020 13:12:34 +0100
a41c76
Subject: [PATCH] qemu: Add the QEMU_CAPS_CPU_KVM_NO_ADJVTIME capability
a41c76
MIME-Version: 1.0
a41c76
Content-Type: text/plain; charset=UTF-8
a41c76
Content-Transfer-Encoding: 8bit
a41c76
a41c76
We will use this capability to detect whether the QEMU binary
a41c76
supports the kvm-no-adjvtime CPU feature.
a41c76
a41c76
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
a41c76
Reviewed-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
a41c76
Reviewed-by: Ján Tomko <jtomko@redhat.com>
a41c76
(cherry picked from commit 204e2306e582524b46c4e26e1f0aa354aa50d006)
a41c76
a41c76
Conflicts:
a41c76
a41c76
  * src/qemu/qemu_capabilities.c
a41c76
    src/qemu/qemu_capabilities.h
a41c76
a41c76
    + tpm-spapr has not been backported
a41c76
a41c76
https://bugzilla.redhat.com/show_bug.cgi?id=1762634
a41c76
a41c76
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
a41c76
Message-Id: <20200214121237.623948-4-abologna@redhat.com>
a41c76
Reviewed-by: Ján Tomko <jtomko@redhat.com>
a41c76
---
a41c76
 src/qemu/qemu_capabilities.c                      | 2 ++
a41c76
 src/qemu/qemu_capabilities.h                      | 1 +
a41c76
 tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 +
a41c76
 3 files changed, 4 insertions(+)
a41c76
a41c76
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
a41c76
index 10c17323be..6912a6f72b 100644
a41c76
--- a/src/qemu/qemu_capabilities.c
a41c76
+++ b/src/qemu/qemu_capabilities.c
a41c76
@@ -557,6 +557,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
a41c76
 
a41c76
               /* 350 */
a41c76
               "virtio-net.failover",
a41c76
+              "cpu.kvm-no-adjvtime",
a41c76
     );
a41c76
 
a41c76
 
a41c76
@@ -1557,6 +1558,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[]
a41c76
 
a41c76
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMaxCPU[] = {
a41c76
     { "unavailable-features", QEMU_CAPS_CPU_UNAVAILABLE_FEATURES },
a41c76
+    { "kvm-no-adjvtime", QEMU_CAPS_CPU_KVM_NO_ADJVTIME },
a41c76
 };
a41c76
 
a41c76
 static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
a41c76
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
a41c76
index 6ab0eabd3f..4ccb0c55bc 100644
a41c76
--- a/src/qemu/qemu_capabilities.h
a41c76
+++ b/src/qemu/qemu_capabilities.h
a41c76
@@ -538,6 +538,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
a41c76
 
a41c76
     /* 350 */
a41c76
     QEMU_CAPS_VIRTIO_NET_FAILOVER, /* virtio-net-*.failover */
a41c76
+    QEMU_CAPS_CPU_KVM_NO_ADJVTIME, /* cpu.kvm-no-adjvtime */
a41c76
 
a41c76
     QEMU_CAPS_LAST /* this must always be the last item */
a41c76
 } virQEMUCapsFlags;
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
a41c76
index 6b365dd75d..e871ba528e 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
a41c76
@@ -178,6 +178,7 @@
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='smp-dies'/>
a41c76
   <flag name='virtio-net.failover'/>
a41c76
+  <flag name='cpu.kvm-no-adjvtime'/>
a41c76
   <version>4002050</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>61700241</microcodeVersion>
a41c76
-- 
a41c76
2.25.0
a41c76