KVM: x86: simplify kvm_mwait_in_guest()
If Intel/AMD implements MWAIT, we expect that it works well and only reject known bugs; no reason to do it the other way around for minor vendors. (Not that they are relevant ATM.) This allows further simplification of kvm_mwait_in_guest(). And use boot_cpu_has() instead of "cpu_has(&boot_cpu_data," while at it. Reviewed-by: Alexander Graf <agraf@suse.de> Acked-by: Borislav Petkov <bp@suse.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
346f48fa31
commit
431f5d4443
@ -265,18 +265,8 @@ static inline u64 nsec_to_cycles(struct kvm_vcpu *vcpu, u64 nsec)
|
|||||||
|
|
||||||
static inline bool kvm_mwait_in_guest(void)
|
static inline bool kvm_mwait_in_guest(void)
|
||||||
{
|
{
|
||||||
if (!cpu_has(&boot_cpu_data, X86_FEATURE_MWAIT))
|
return boot_cpu_has(X86_FEATURE_MWAIT) &&
|
||||||
return false;
|
!boot_cpu_has_bug(X86_BUG_MONITOR);
|
||||||
|
|
||||||
switch (boot_cpu_data.x86_vendor) {
|
|
||||||
case X86_VENDOR_AMD:
|
|
||||||
/* All AMD CPUs have a working MWAIT implementation */
|
|
||||||
return true;
|
|
||||||
case X86_VENDOR_INTEL:
|
|
||||||
return !boot_cpu_has_bug(X86_BUG_MONITOR);
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user