mbox series

[v3,0/4] KVM: x86: MSR_TSC_AUX fixes and improvements

Message ID 20210423223404.3860547-1-seanjc@google.com (mailing list archive)
Headers show
Series KVM: x86: MSR_TSC_AUX fixes and improvements | expand

Message

Sean Christopherson April 23, 2021, 10:34 p.m. UTC
Fix potential cross-vendor landmines due to Intel and AMD having different
behavior for MSR_TSC_AUX[63:32], unify the logic across SVM and VMX, and
switch MSR_TSC_AUX via user return MSRs on SVM (the original goal).

v3:
  - Fix a comment typo. [Reiji]
  - Add patches to add missing guest_cpuid_has() check, drop bits 63:32 on
    AMD, and unify VMX and SVM emulation.
  - Rebase to kvm/next, commit c4f71901d53b ("Merge tag 'kvmarm-5.13' ... )

v2:
  - Rebase to kvm/queue (ish), commit 0e91d1992235 ("KVM: SVM: Allocate SEV
    command structures on local stack")
  - https://lkml.kernel.org/r/20210422001736.3255735-1-seanjc@google.com

v1: https://lkml.kernel.org/r/20210206003224.302728-1-seanjc@google.com


Sean Christopherson (4):
  KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP
    unsupported
  KVM: SVM: Clear MSR_TSC_AUX[63:32] on write
  KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU
    model
  KVM: SVM: Delay restoration of host MSR_TSC_AUX until return to
    userspace

 arch/x86/kvm/svm/svm.c | 58 +++++++++++++++++-------------------------
 arch/x86/kvm/svm/svm.h |  7 -----
 arch/x86/kvm/vmx/vmx.c | 13 ----------
 arch/x86/kvm/x86.c     | 34 +++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 54 deletions(-)

Comments

Paolo Bonzini April 26, 2021, 9:26 a.m. UTC | #1
On 24/04/21 00:34, Sean Christopherson wrote:
> Fix potential cross-vendor landmines due to Intel and AMD having different
> behavior for MSR_TSC_AUX[63:32], unify the logic across SVM and VMX, and
> switch MSR_TSC_AUX via user return MSRs on SVM (the original goal).
> 
> v3:
>    - Fix a comment typo. [Reiji]
>    - Add patches to add missing guest_cpuid_has() check, drop bits 63:32 on
>      AMD, and unify VMX and SVM emulation.
>    - Rebase to kvm/next, commit c4f71901d53b ("Merge tag 'kvmarm-5.13' ... )
> 
> v2:
>    - Rebase to kvm/queue (ish), commit 0e91d1992235 ("KVM: SVM: Allocate SEV
>      command structures on local stack")
>    - https://lkml.kernel.org/r/20210422001736.3255735-1-seanjc@google.com
> 
> v1: https://lkml.kernel.org/r/20210206003224.302728-1-seanjc@google.com
> 
> 
> Sean Christopherson (4):
>    KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP
>      unsupported
>    KVM: SVM: Clear MSR_TSC_AUX[63:32] on write
>    KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU
>      model
>    KVM: SVM: Delay restoration of host MSR_TSC_AUX until return to
>      userspace
> 
>   arch/x86/kvm/svm/svm.c | 58 +++++++++++++++++-------------------------
>   arch/x86/kvm/svm/svm.h |  7 -----
>   arch/x86/kvm/vmx/vmx.c | 13 ----------
>   arch/x86/kvm/x86.c     | 34 +++++++++++++++++++++++++
>   4 files changed, 58 insertions(+), 54 deletions(-)
> 

Queued 1-2-4 (with fix for patch 2).

Paolo