Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > ebe084c140192657f9094e135a84202c > files > 73

libvirt-0.8.2-29.el5.src.rpm

From ce366bd62222b770b62c305e1c1cecca8a5189a1 Mon Sep 17 00:00:00 2001
Message-Id: <ce366bd62222b770b62c305e1c1cecca8a5189a1.1284409900.git.jdenemar@redhat.com>
From: Jiri Denemark <jdenemar@redhat.com>
Date: Fri, 2 Jul 2010 17:51:20 +0200
Subject: [PATCH] cpuBaseline: Don't mess with the CPU returned by arch driver

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=630616

All features in the baseline CPU definition were always created with
policy='require' even though an arch driver returned them with different
policy settings.
(cherry picked from commit 4e0f648fbb8fd8b88880f60bef51cf718f2de7c1)
---
 src/cpu/cpu.c     |   12 +-----------
 src/cpu/cpu_x86.c |    2 ++
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c
index 580b767..8d6c22b 100644
--- a/src/cpu/cpu.c
+++ b/src/cpu/cpu.c
@@ -354,7 +354,6 @@ cpuBaseline(virCPUDefPtr *cpus,
             unsigned int nmodels)
 {
     struct cpuArchDriver *driver;
-    virCPUDefPtr cpu;
     unsigned int i;
 
     VIR_DEBUG("ncpus=%u, nmodels=%u", ncpus, nmodels);
@@ -394,16 +393,7 @@ cpuBaseline(virCPUDefPtr *cpus,
         return NULL;
     }
 
-    if ((cpu = driver->baseline(cpus, ncpus, models, nmodels))) {
-        cpu->type = VIR_CPU_TYPE_GUEST;
-        cpu->match = VIR_CPU_MATCH_EXACT;
-        VIR_FREE(cpu->arch);
-
-        for (i = 0; i < cpu->nfeatures; i++)
-            cpu->features[i].policy = VIR_CPU_FEATURE_REQUIRE;
-    }
-
-    return cpu;
+    return driver->baseline(cpus, ncpus, models, nmodels);
 }
 
 
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index f7473bf..30a2db6 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -1366,6 +1366,8 @@ x86Baseline(virCPUDefPtr *cpus,
     if (x86Decode(cpu, data, models, nmodels, NULL) < 0)
         goto error;
 
+    VIR_FREE(cpu->arch);
+
 cleanup:
     x86DataFree(data);
     x86ModelFree(base_model);
-- 
1.7.2.2