9c6c51
From ab9d2e264ba8a544eadb9e1b72a4a5d0f4789815 Mon Sep 17 00:00:00 2001
9c6c51
Message-Id: <ab9d2e264ba8a544eadb9e1b72a4a5d0f4789815@dist-git>
9c6c51
From: Andrea Bolognani <abologna@redhat.com>
9c6c51
Date: Mon, 17 Sep 2018 18:00:50 +0200
9c6c51
Subject: [PATCH] qemu: Drop QEMU_CAPS_ENABLE_KVM
9c6c51
9c6c51
It was already available in 1.5.0.
9c6c51
9c6c51
Moreover, we're not even formatting it on the QEMU command
9c6c51
line, ever: we just use it as part of some logic that decides
9c6c51
whether KVM support should be advertised, and as it turns out
9c6c51
that logic is actually buggy and dropping this capability
9c6c51
fixes it.
9c6c51
9c6c51
https://bugzilla.redhat.com/show_bug.cgi?id=1628469
9c6c51
9c6c51
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
9c6c51
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
9c6c51
(cherry picked from commit 88983855d5496a74b97551860db737c2b17b100e)
9c6c51
9c6c51
https://bugzilla.redhat.com/show_bug.cgi?id=1629862
9c6c51
9c6c51
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
9c6c51
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
9c6c51
---
9c6c51
 src/qemu/qemu_capabilities.c |  3 ---
9c6c51
 src/qemu/qemu_capabilities.h |  2 +-
9c6c51
 tests/qemuxml2argvtest.c     | 11 +++++------
9c6c51
 3 files changed, 6 insertions(+), 10 deletions(-)
9c6c51
9c6c51
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
9c6c51
index 1321696d11..14d7b8fbf7 100644
9c6c51
--- a/src/qemu/qemu_capabilities.c
9c6c51
+++ b/src/qemu/qemu_capabilities.c
9c6c51
@@ -834,7 +834,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
9c6c51
 
9c6c51
     if (virFileExists("/dev/kvm") &&
9c6c51
         (virQEMUCapsGet(qemubinCaps, QEMU_CAPS_KVM) ||
9c6c51
-         virQEMUCapsGet(qemubinCaps, QEMU_CAPS_ENABLE_KVM) ||
9c6c51
          kvmbin))
9c6c51
         haskvm = true;
9c6c51
 
9c6c51
@@ -2603,7 +2602,6 @@ virQEMUCapsProbeQMPKVMState(virQEMUCapsPtr qemuCaps,
9c6c51
         virQEMUCapsClear(qemuCaps, QEMU_CAPS_KVM);
9c6c51
     } else if (!enabled) {
9c6c51
         virQEMUCapsClear(qemuCaps, QEMU_CAPS_KVM);
9c6c51
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_KVM);
9c6c51
     }
9c6c51
 
9c6c51
     return 0;
9c6c51
@@ -3911,7 +3909,6 @@ virQEMUCapsIsValid(void *data,
9c6c51
                                     priv->runUid, priv->runGid) == 0;
9c6c51
 
9c6c51
     if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM) &&
9c6c51
-        virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_KVM) &&
9c6c51
         kvmUsable) {
9c6c51
         VIR_DEBUG("KVM was not enabled when probing '%s', "
9c6c51
                   "but it should be usable now",
9c6c51
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
9c6c51
index 9e8ad5f5c3..98668115d6 100644
9c6c51
--- a/src/qemu/qemu_capabilities.h
9c6c51
+++ b/src/qemu/qemu_capabilities.h
9c6c51
@@ -79,7 +79,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
9c6c51
     X_QEMU_CAPS_XEN_DOMID, /* -xen-domid */
9c6c51
     X_QEMU_CAPS_MIGRATE_QEMU_UNIX, /* qemu migration via unix sockets */
9c6c51
     X_QEMU_CAPS_CHARDEV, /* Is the new -chardev arg available */
9c6c51
-    QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
9c6c51
+    X_QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
9c6c51
     X_QEMU_CAPS_MONITOR_JSON, /* JSON mode for monitor */
9c6c51
 
9c6c51
     /* 25 */
9c6c51
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
9c6c51
index ebe9c8a131..13e95fe28a 100644
9c6c51
--- a/tests/qemuxml2argvtest.c
9c6c51
+++ b/tests/qemuxml2argvtest.c
9c6c51
@@ -912,16 +912,15 @@ mymain(void)
9c6c51
     DO_TEST("clock-france", NONE);
9c6c51
     DO_TEST("clock-hpet-off", NONE);
9c6c51
     DO_TEST("clock-catchup", QEMU_CAPS_KVM_PIT_TICK_POLICY);
9c6c51
-    DO_TEST("cpu-kvmclock", QEMU_CAPS_ENABLE_KVM);
9c6c51
-    DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM);
9c6c51
+    DO_TEST("cpu-kvmclock", NONE);
9c6c51
+    DO_TEST("cpu-host-kvmclock", NONE);
9c6c51
     DO_TEST("kvmclock", QEMU_CAPS_KVM);
9c6c51
     DO_TEST("clock-timer-hyperv-rtc", QEMU_CAPS_KVM);
9c6c51
 
9c6c51
-    DO_TEST("cpu-eoi-disabled", QEMU_CAPS_ENABLE_KVM);
9c6c51
-    DO_TEST("cpu-eoi-enabled", QEMU_CAPS_ENABLE_KVM);
9c6c51
+    DO_TEST("cpu-eoi-disabled", NONE);
9c6c51
+    DO_TEST("cpu-eoi-enabled", NONE);
9c6c51
     DO_TEST("controller-order",
9c6c51
             QEMU_CAPS_KVM,
9c6c51
-            QEMU_CAPS_ENABLE_KVM,
9c6c51
             QEMU_CAPS_PIIX3_USB_UHCI,
9c6c51
             QEMU_CAPS_CCID_PASSTHRU,
9c6c51
             QEMU_CAPS_SPICE,
9c6c51
@@ -933,7 +932,7 @@ mymain(void)
9c6c51
     DO_TEST("eoi-enabled", NONE);
9c6c51
     DO_TEST("pv-spinlock-disabled", NONE);
9c6c51
     DO_TEST("pv-spinlock-enabled", NONE);
9c6c51
-    DO_TEST("kvmclock+eoi-disabled", QEMU_CAPS_ENABLE_KVM);
9c6c51
+    DO_TEST("kvmclock+eoi-disabled", NONE);
9c6c51
 
9c6c51
     DO_TEST("hyperv", NONE);
9c6c51
     DO_TEST("hyperv-off", NONE);
9c6c51
-- 
9c6c51
2.19.1
9c6c51