[PATCH v2 02/17] qemu: remove all support for kQEMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The kQEMU accelerator was deleted in QEMU 0.12, so we no
longer need to support it in the QEMU driver.

Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 src/qemu/qemu_capabilities.c | 18 ------------------
 src/qemu/qemu_capabilities.h | 19 ++++++++++++++++---
 src/qemu/qemu_command.c      | 23 ++---------------------
 3 files changed, 18 insertions(+), 42 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index c888547..bbb9e9c 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -865,7 +865,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
 {
     virCapsGuestPtr guest;
     bool haskvm = false;
-    bool haskqemu = false;
     virCapsGuestMachinePtr *machines = NULL;
     size_t nmachines = 0;
     int ret = -1;
@@ -880,10 +879,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
          kvmbin))
         haskvm = true;
 
-    if (virFileExists("/dev/kqemu") &&
-        virQEMUCapsGet(qemubinCaps, QEMU_CAPS_KQEMU))
-        haskqemu = true;
-
     if (virQEMUCapsGetMachineTypesCaps(qemubinCaps, &nmachines, &machines) < 0)
         goto cleanup;
 
@@ -926,15 +921,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
                                       NULL) == NULL)
         goto cleanup;
 
-    if (haskqemu &&
-        virCapabilitiesAddGuestDomain(guest,
-                                      VIR_DOMAIN_VIRT_KQEMU,
-                                      NULL,
-                                      NULL,
-                                      0,
-                                      NULL) == NULL)
-        goto cleanup;
-
     if (haskvm) {
         virCapsGuestDomainPtr dom;
 
@@ -1103,10 +1089,6 @@ virQEMUCapsComputeCmdFlags(const char *help,
     const char *p;
     const char *fsdev, *netdev;
 
-    if (strstr(help, "-no-kqemu"))
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_KQEMU);
-    if (strstr(help, "-enable-kqemu"))
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_KQEMU);
     if (strstr(help, "-no-kvm"))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM);
     if (strstr(help, "-enable-kvm"))
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index b883315..18bff75 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -30,10 +30,23 @@
 # include "qemu_monitor.h"
 # include "domain_capabilities.h"
 
-/* Internal flags to keep track of qemu command line capabilities */
+/*
+ * Internal flags to keep track of qemu command line capabilities
+ *
+ * As a general rule these flags must not be deleted / renamed, as
+ * they are serialized in string format into the runtime XML file
+ * for guests, and new libvirt needs to cope with reading flags
+ * defined by old libvirt.
+ *
+ * The exception to this rule is when we drop support for running
+ * with older QEMU versions entirely. When a flag is no longer needed
+ * we temporarily give it an X_ prefix to indicate it should no
+ * longer be used in code. Periodically we can then purge all the
+ * X_ flags and re-group what's left.
+ */
 typedef enum {
     /* 0 */
-    QEMU_CAPS_KQEMU, /* Whether KQEMU is compiled in */
+    X_QEMU_CAPS_KQEMU, /* Whether KQEMU is compiled in */
     QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */
     QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */
     QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
@@ -86,7 +99,7 @@ typedef enum {
     QEMU_CAPS_PCI_CONFIGFD, /* pci-assign.configfd */
     QEMU_CAPS_NODEFCONFIG, /* -nodefconfig */
     QEMU_CAPS_BOOT_MENU, /* -boot menu=on support */
-    QEMU_CAPS_ENABLE_KQEMU, /* -enable-kqemu flag */
+    X_QEMU_CAPS_ENABLE_KQEMU, /* -enable-kqemu flag */
 
     /* 40 */
     QEMU_CAPS_FSDEV, /* -fstype filesystem passthrough */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 8824541..26dc354 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7707,36 +7707,21 @@ qemuBuildObsoleteAccelArg(virCommandPtr cmd,
                           const virDomainDef *def,
                           virQEMUCapsPtr qemuCaps)
 {
-    bool disableKQEMU = false;
-    bool enableKQEMU = false;
     bool disableKVM = false;
     bool enableKVM = false;
 
     switch (def->virtType) {
     case VIR_DOMAIN_VIRT_QEMU:
-        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KQEMU))
-            disableKQEMU = true;
         if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM))
             disableKVM = true;
         break;
 
     case VIR_DOMAIN_VIRT_KQEMU:
-        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM))
-            disableKVM = true;
-
-        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_KQEMU)) {
-            enableKQEMU = true;
-        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KQEMU)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("the QEMU binary does not support kqemu"));
-            return -1;
-        }
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("the QEMU binary does not support kqemu"));
         break;
 
     case VIR_DOMAIN_VIRT_KVM:
-        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KQEMU))
-            disableKQEMU = true;
-
         if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_KVM)) {
             enableKVM = true;
         } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) {
@@ -7757,10 +7742,6 @@ qemuBuildObsoleteAccelArg(virCommandPtr cmd,
         return -1;
     }
 
-    if (disableKQEMU)
-        virCommandAddArg(cmd, "-no-kqemu");
-    else if (enableKQEMU)
-        virCommandAddArgList(cmd, "-enable-kqemu", "-kernel-kqemu", NULL);
     if (disableKVM)
         virCommandAddArg(cmd, "-no-kvm");
     if (enableKVM)
-- 
2.5.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]