]> git.proxmox.com Git - qemu.git/commitdiff
target-i386: Check for host features before filter_features_for_kvm()
authorEduardo Habkost <ehabkost@redhat.com>
Tue, 2 Apr 2013 20:48:12 +0000 (17:48 -0300)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Fri, 5 Apr 2013 19:01:33 +0000 (14:01 -0500)
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce",
as it has moved kvm_check_features_against_host() after the
filter_features_for_kvm() call. filter_features_for_kvm() removes all
features not supported by the host, so this effectively made
kvm_check_features_against_host() impossible to fail.

This patch changes the call so we check for host feature support before
filtering the feature bits.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-id: 1364935692-24004-1-git-send-email-ehabkost@redhat.com
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit a509d632c877f7b5fa07368879b8ae5919a6d345)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
target-i386/cpu.c

index aab35c74d99a55673419a06e97729281e7a6778b..d9500e9fc905ab5b2a69881c3f056d982723e576 100644 (file)
@@ -2091,14 +2091,14 @@ void x86_cpu_realize(Object *obj, Error **errp)
         env->cpuid_ext3_features &= TCG_EXT3_FEATURES;
         env->cpuid_svm_features &= TCG_SVM_FEATURES;
     } else {
-#ifdef CONFIG_KVM
-        filter_features_for_kvm(cpu);
-#endif
         if (check_cpuid && kvm_check_features_against_host(cpu)
             && enforce_cpuid) {
             error_setg(errp, "Host's CPU doesn't support requested features");
             return;
         }
+#ifdef CONFIG_KVM
+        filter_features_for_kvm(cpu);
+#endif
     }
 
 #ifndef CONFIG_USER_ONLY