[libvirt] [PATCH] Take disabled/forced CPU features into account

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

 



When comparing x86 CPUs, features with 'disabled' policy were mistakenly
required to be supported by the host CPU.

Likewise, features with 'force' policy which were supported by host CPU
would make CPUs incompatible if 'strict' match was used by guest CPU.

This patch fixes both issues.

Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
---
 src/cpu/cpu_x86.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 50c03ad..298b632 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -782,11 +782,14 @@ x86Compute(virCPUDefPtr host,
     if (!(cpu_forbid = x86ModelFromCPU(cpu, map, VIR_CPU_FEATURE_FORBID)))
         goto error;
 
+    x86ModelSubtract(cpu_require, cpu_disable);
+
     if ((diff = x86ModelCopy(host_model)) == NULL)
         goto no_memory;
 
     x86ModelSubtract(diff, cpu_require);
     x86ModelSubtract(diff, cpu_optional);
+    x86ModelSubtract(diff, cpu_force);
 
     for (i = 0; i < cpu_forbid->ncpuid; i++) {
         const struct cpuX86cpuid *cpuid1;
-- 
1.6.6

--
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]