]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: default video device type selection algoritm moved into its own function
authorPavel Mores <pmores@redhat.com>
Mon, 25 Nov 2019 10:54:23 +0000 (11:54 +0100)
committerCole Robinson <crobinso@redhat.com>
Mon, 25 Nov 2019 13:47:08 +0000 (08:47 -0500)
The default video device type selection algorithm we're about to deploy will
increase the amount of code dedicated to the task by amount enough to warrant
factoring the whole thing into its own function so as not to pollute the
caller qemuDomainDeviceVideoDefPostParse().  Do it now so that the actual
algorithm change later on is in a clean commit by itself and easy to review.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Pavel Mores <pmores@redhat.com>
src/qemu/qemu_domain.c

index 168e7464a9655a8b116161016d46e7faa7ea6d41..4a6975e285e86ce69bec22ee4b37a0215bccdd79 100644 (file)
@@ -7880,20 +7880,26 @@ qemuDomainDeviceNetDefPostParse(virDomainNetDefPtr net,
 }
 
 
+static int
+qemuDomainDefaultVideoDevice(const virDomainDef *def)
+{
+    if (ARCH_IS_PPC64(def->os.arch))
+        return VIR_DOMAIN_VIDEO_TYPE_VGA;
+    else if (qemuDomainIsARMVirt(def) ||
+             qemuDomainIsRISCVVirt(def) ||
+             ARCH_IS_S390(def->os.arch))
+        return VIR_DOMAIN_VIDEO_TYPE_VIRTIO;
+    else
+        return VIR_DOMAIN_VIDEO_TYPE_CIRRUS;
+}
+
+
 static int
 qemuDomainDeviceVideoDefPostParse(virDomainVideoDefPtr video,
                                   const virDomainDef *def)
 {
-    if (video->type == VIR_DOMAIN_VIDEO_TYPE_DEFAULT) {
-        if (ARCH_IS_PPC64(def->os.arch))
-            video->type = VIR_DOMAIN_VIDEO_TYPE_VGA;
-        else if (qemuDomainIsARMVirt(def) ||
-                 qemuDomainIsRISCVVirt(def) ||
-                 ARCH_IS_S390(def->os.arch))
-            video->type = VIR_DOMAIN_VIDEO_TYPE_VIRTIO;
-        else
-            video->type = VIR_DOMAIN_VIDEO_TYPE_CIRRUS;
-    }
+    if (video->type == VIR_DOMAIN_VIDEO_TYPE_DEFAULT)
+        video->type = qemuDomainDefaultVideoDevice(def);
 
     if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL &&
         !video->vgamem) {