qemu-e2k/target-i386
Eduardo Habkost fcb93c0360 target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features
The existing -cpu host code simply sets every bit inside svm_features
(initializing it to -1), and that makes it impossible to make the
enforce/check options work properly when the user asks for SVM features
explicitly in the command-line.

So, instead of initializing svm_features to -1, use GET_SUPPORTED_CPUID
to fill only the bits that are supported by the host (just like we do
for all other CPUID feature words inside kvm_cpu_fill_host()).

This will keep the existing behavior (as filter_features_for_kvm()
already uses GET_SUPPORTED_CPUID to filter svm_features), but will allow
us to properly check for KVM features inside
kvm_check_features_against_host() later.

For example, we will be able to make this:

  $ qemu-system-x86_64 -cpu ...,+pfthreshold,enforce

refuse to start if the SVM "pfthreshold" feature is not supported by the
host (after we fix kvm_check_features_against_host() to check SVM flags
as well).

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-01-08 21:03:44 +01:00
..
arch_dump.c exec: change RAM list to a TAILQ 2012-12-20 23:08:47 +01:00
arch_memory_mapping.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
cc_helper_template.h x86: avoid AREG0 for condition code helpers 2012-08-14 19:01:25 +00:00
cc_helper.c
cpu-qom.h qom: move include files to include/qom/ 2012-12-19 08:31:32 +01:00
cpu.c target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features 2013-01-08 21:03:44 +01:00
cpu.h Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
excp_helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
fpu_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
helper.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
hyperv.c
hyperv.h hyperv: fix build on non-KVM hosts 2012-01-23 20:04:51 +00:00
int_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
ioport-user.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm_i386.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
kvm-stub.c
kvm.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
machine.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
Makefile.objs
mem_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
misc_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
ops_sse_header.h
ops_sse.h
seg_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
shift_helper_template.h
smm_helper.c
svm_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
svm.h
TODO
translate.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00