KVM: nSVM: Use KVM-governed feature framework to track "TSC scaling enabled"
authorSean Christopherson <seanjc@google.com>
Tue, 15 Aug 2023 20:36:47 +0000 (13:36 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 17 Aug 2023 18:43:28 +0000 (11:43 -0700)
commit4365a45571c791a2fbeb81cf27738960c5456f57
tree8963d912fde7ac18ed978010c41cd4a934f1ebae
parent7a6a6a3bf5d8c32a91d8fabb0e2d31f3bd23a412
KVM: nSVM: Use KVM-governed feature framework to track "TSC scaling enabled"

Track "TSC scaling exposed to L1" via a governed feature flag instead of
using a dedicated bit/flag in vcpu_svm.

Note, this fixes a benign bug where KVM would mark TSC scaling as exposed
to L1 even if overall nested SVM supported is disabled, i.e. KVM would let
L1 write MSR_AMD64_TSC_RATIO even when KVM didn't advertise TSCRATEMSR
support to userspace.

Reviewed-by: Yuan Yao <yuan.yao@intel.com>
Link: https://lore.kernel.org/r/20230815203653.519297-10-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/governed_features.h
arch/x86/kvm/svm/nested.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h