KVM: x86: hyper-v: Honor HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED bit
Hypercalls which use extended processor masks are only available when HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED privilege bit is exposed (and 'RECOMMENDED' is rather a misnomer). Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210521095204.2161214-28-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d264eb3c14
commit
445caed021
@ -2114,11 +2114,19 @@ static bool hv_check_hypercall_access(struct kvm_vcpu_hv *hv_vcpu, u16 code)
|
||||
hv_vcpu->cpuid_cache.features_ebx & HV_DEBUGGING;
|
||||
case HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX:
|
||||
case HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX:
|
||||
if (!(hv_vcpu->cpuid_cache.enlightenments_eax &
|
||||
HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED))
|
||||
return false;
|
||||
fallthrough;
|
||||
case HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST:
|
||||
case HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE:
|
||||
return hv_vcpu->cpuid_cache.enlightenments_eax &
|
||||
HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED;
|
||||
case HVCALL_SEND_IPI_EX:
|
||||
if (!(hv_vcpu->cpuid_cache.enlightenments_eax &
|
||||
HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED))
|
||||
return false;
|
||||
fallthrough;
|
||||
case HVCALL_SEND_IPI:
|
||||
return hv_vcpu->cpuid_cache.enlightenments_eax &
|
||||
HV_X64_CLUSTER_IPI_RECOMMENDED;
|
||||
|
Loading…
Reference in New Issue
Block a user