]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Move common code in virQEMUCapsInitCPUModel one layer up
authorJiri Denemark <jdenemar@redhat.com>
Thu, 30 Mar 2017 11:50:44 +0000 (13:50 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 7 Apr 2017 08:12:24 +0000 (10:12 +0200)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_capabilities.c

index a2f4f43e65bfccdc9764f2e63afdea3cc4ecbc00..925d9a73d55597eedff10b740a4fbd95b3b8c2c1 100644 (file)
@@ -3115,17 +3115,11 @@ virQEMUCapsCPUFilterFeatures(const char *name,
  */
 static int
 virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps,
-                            virDomainVirtType type,
+                            qemuMonitorCPUModelInfoPtr modelInfo,
                             virCPUDefPtr cpu)
 {
-    qemuMonitorCPUModelInfoPtr modelInfo;
     size_t i;
 
-    if (type == VIR_DOMAIN_VIRT_KVM)
-        modelInfo = qemuCaps->kvmCPUModelInfo;
-    else
-        modelInfo = qemuCaps->tcgCPUModelInfo;
-
     if (!modelInfo) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("missing host CPU model info from QEMU capabilities "
@@ -3167,9 +3161,9 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps,
 static int
 virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps,
                            virDomainVirtType type,
+                           qemuMonitorCPUModelInfoPtr model,
                            virCPUDefPtr cpu)
 {
-    qemuMonitorCPUModelInfoPtr model;
     virCPUDataPtr data = NULL;
     unsigned long long sigFamily = 0;
     unsigned long long sigModel = 0;
@@ -3178,11 +3172,6 @@ virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps,
     int ret = -1;
     size_t i;
 
-    if (type == VIR_DOMAIN_VIRT_KVM)
-        model = qemuCaps->kvmCPUModelInfo;
-    else
-        model = qemuCaps->tcgCPUModelInfo;
-
     if (!model)
         return 1;
 
@@ -3243,12 +3232,18 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps,
                         virDomainVirtType type,
                         virCPUDefPtr cpu)
 {
+    qemuMonitorCPUModelInfoPtr model;
     int ret = 1;
 
+    if (type == VIR_DOMAIN_VIRT_KVM)
+        model = qemuCaps->kvmCPUModelInfo;
+    else
+        model = qemuCaps->tcgCPUModelInfo;
+
     if (ARCH_IS_S390(qemuCaps->arch))
-        ret = virQEMUCapsInitCPUModelS390(qemuCaps, type, cpu);
+        ret = virQEMUCapsInitCPUModelS390(qemuCaps, model, cpu);
     else if (ARCH_IS_X86(qemuCaps->arch))
-        ret = virQEMUCapsInitCPUModelX86(qemuCaps, type, cpu);
+        ret = virQEMUCapsInitCPUModelX86(qemuCaps, type, model, cpu);
 
     if (ret == 0)
         cpu->fallback = VIR_CPU_FALLBACK_FORBID;