KVM: nSVM: Use KVM-governed feature framework to track "LBRv enabled"
authorSean Christopherson <seanjc@google.com>
Tue, 15 Aug 2023 20:36:49 +0000 (13:36 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 17 Aug 2023 18:43:30 +0000 (11:43 -0700)
commite183d17ac362655e5ef061760245b4402b9c04f8
tree893ac5c4d6f63b30593184876e699e5f6c43ee54
parent4d2a1560ffc29525493829ee31dc069c00c52c69
KVM: nSVM: Use KVM-governed feature framework to track "LBRv enabled"

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

Note, checking KVM's capabilities instead of the "lbrv" param means that
the code isn't strictly equivalent, as lbrv_enabled could have been set
if nested=false where as that the governed feature cannot.  But that's a
glorified nop as the feature/flag is consumed only by paths that are
gated by nSVM being enabled.

Link: https://lore.kernel.org/r/20230815203653.519297-12-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