Re: [PATCH 1/2] kvm/x86/vmx: enable X86_FEATURE_WAITPKG in KVM capabilities
From: Maxim Levitsky
Date: Wed May 27 2020 - 11:17:03 EST
On Tue, 2020-05-26 at 18:20 -0700, Sean Christopherson wrote:
> On Sat, May 23, 2020 at 07:14:54PM +0300, Maxim Levitsky wrote:
> > Even though we might not allow the guest to use
> > WAITPKG's new instructions, we should tell KVM
> > that the feature is supported by the host CPU.
> >
> > Note that vmx_waitpkg_supported checks that WAITPKG
> > _can_ be set in secondary execution controls as specified
> > by VMX capability MSR, rather that we actually enable it for a
> > guest.
>
> These line wraps are quite weird and inconsistent.
Known issue for me, I usually don't have line wrapping enabled,
and I wrap the lines a bit earlier that 72 character limit.
I'll re-formatted the commit message to be on 72 line format and I will
try now to pay much more attention to that.
>
> > Fixes: e69e72faa3a0 KVM: x86: Add support for user wait
> > instructions
>
> Checkpatch doesn't complain, but the preferred Fixes format is
>
> Fixes: e69e72faa3a07 ("KVM: x86: Add support for user wait
> instructions")
>
> e.g.
>
> git show -s --pretty='tformat:%h ("%s")'
Got it, and added to git aliases :-)
>
> For the code itself:
>
> Reviewed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
Thank you!
>
> > Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> > ---
> > arch/x86/kvm/vmx/vmx.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> > index 55712dd86bafa..fca493d4517c5 100644
> > --- a/arch/x86/kvm/vmx/vmx.c
> > +++ b/arch/x86/kvm/vmx/vmx.c
> > @@ -7298,6 +7298,9 @@ static __init void vmx_set_cpu_caps(void)
> > /* CPUID 0x80000001 */
> > if (!cpu_has_vmx_rdtscp())
> > kvm_cpu_cap_clear(X86_FEATURE_RDTSCP);
> > +
> > + if (vmx_waitpkg_supported())
> > + kvm_cpu_cap_check_and_set(X86_FEATURE_WAITPKG);
> > }
> >
> > static void vmx_request_immediate_exit(struct kvm_vcpu *vcpu)
> > --
> > 2.26.2
> >