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

From: Sean Christopherson
Date: Fri Apr 23 2021 - 18:34:35 EST


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@xxxxxxxxxx

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


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(-)

--
2.31.1.498.g6c1eba8ee3d-goog