[libvirt] [PATCH] gic: Introduce VIR_GIC_VERSION_DEFAULT alias

Andrea Bolognani abologna at redhat.com
Thu Feb 18 15:28:51 UTC 2016


GIC v2 is the default, but checking against that specific version when
we want to know whether the default has been selected is potentially
error prone; using an alias instead makes it safer.
---
 src/qemu/qemu_command.c | 7 +++----
 src/qemu/qemu_domain.c  | 4 ++--
 src/util/virgic.h       | 3 +++
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index b751f04..287a2b9 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -5306,10 +5306,9 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
                     return -1;
                 }
 
-                /* 2 is the default, so we don't put it as option for
-                 * backwards compatibility
-                 */
-                if (def->gic_version != VIR_GIC_VERSION_2) {
+                /* The default GIC version should not be specified on the
+                 * QEMU commandline for backwards compatibility reasons */
+                if (def->gic_version != VIR_GIC_VERSION_DEFAULT) {
                     if (!virQEMUCapsGet(qemuCaps,
                                         QEMU_CAPS_MACH_VIRT_GIC_VERSION)) {
                         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index c6ff0da..99ef696 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1264,10 +1264,10 @@ qemuDomainDefEnableDefaultFeatures(virDomainDefPtr def)
         break;
     }
 
-    /* Default to GIC v2 if no version was specified */
+    /* Use the default GIC version if no version was specified */
     if (def->features[VIR_DOMAIN_FEATURE_GIC] == VIR_TRISTATE_SWITCH_ON &&
         def->gic_version == VIR_GIC_VERSION_NONE)
-        def->gic_version = VIR_GIC_VERSION_2;
+        def->gic_version = VIR_GIC_VERSION_DEFAULT;
 }
 
 
diff --git a/src/util/virgic.h b/src/util/virgic.h
index a2ba300..470ce95 100644
--- a/src/util/virgic.h
+++ b/src/util/virgic.h
@@ -35,4 +35,7 @@ typedef enum {
 
 VIR_ENUM_DECL(virGICVersion);
 
+/* Consider GIC v2 the default */
+# define VIR_GIC_VERSION_DEFAULT VIR_GIC_VERSION_2
+
 #endif /* __VIR_GIC_H__ */
-- 
2.5.0




More information about the libvir-list mailing list