target-i386: Check for host features before filter_features_for_kvm()
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>
This commit is contained in:
parent
8243b0464b
commit
a509d632c8
@ -2131,14 +2131,14 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
|
|||||||
env->cpuid_ext3_features &= TCG_EXT3_FEATURES;
|
env->cpuid_ext3_features &= TCG_EXT3_FEATURES;
|
||||||
env->cpuid_svm_features &= TCG_SVM_FEATURES;
|
env->cpuid_svm_features &= TCG_SVM_FEATURES;
|
||||||
} else {
|
} else {
|
||||||
#ifdef CONFIG_KVM
|
|
||||||
filter_features_for_kvm(cpu);
|
|
||||||
#endif
|
|
||||||
if (check_cpuid && kvm_check_features_against_host(cpu)
|
if (check_cpuid && kvm_check_features_against_host(cpu)
|
||||||
&& enforce_cpuid) {
|
&& enforce_cpuid) {
|
||||||
error_setg(errp, "Host's CPU doesn't support requested features");
|
error_setg(errp, "Host's CPU doesn't support requested features");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#ifdef CONFIG_KVM
|
||||||
|
filter_features_for_kvm(cpu);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
Loading…
x
Reference in New Issue
Block a user