• E
    target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features · fcb93c03
    Eduardo Habkost 提交于
    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: NEduardo Habkost <ehabkost@redhat.com>
    Reviewed-by: NGleb Natapov <gleb@redhat.com>
    Signed-off-by: NAndreas Färber <afaerber@suse.de>
    fcb93c03
cpu.c 74.3 KB