[PATCH v3 0/2] x86: Add the feature Virtual SPEC_CTRL

From: Babu Moger
Date: Fri Jan 15 2021 - 12:23:13 EST


Newer AMD processors have a feature to virtualize the use of the
SPEC_CTRL MSR on the guest. The series adds the feature support
and enables the feature on SVM.
---
v3:
1. Taken care of recent changes in vmcb_save_area. Needed to adjust the save
area spec_ctrl definition.
2. Taken care of few comments from Tom.
a. Initialised the save area spec_ctrl in case of SEV-ES.
b. Removed the changes in svm_get_msr/svm_set_msr.
c. Reverted the changes to disable the msr interception to avoid compatibility
issue.
3. Updated the patch #1 with Acked-by from Boris.

v2:
https://lore.kernel.org/kvm/160867624053.3471.7106539070175910424.stgit@bmoger-ubuntu/
NOTE: This is not final yet. Sending out the patches to make
sure I captured all the comments correctly.

1. Most of the changes are related to Jim and Sean's feedback.
2. Improved the description of patch #2.
3. Updated the vmcb save area's guest spec_ctrl value(offset 0x2E0)
properly. Initialized during init_vmcb and svm_set_msr and
returned the value from save area for svm_get_msr.
4. As Jim commented, transferred the value into the VMCB prior
to VMRUN and out of the VMCB after #VMEXIT.
5. Added kvm-unit-test to detect the SPEC CTRL feature.
https://lore.kernel.org/kvm/160865324865.19910.5159218511905134908.stgit@bmoger-ubuntu/
6. Sean mantioned of renaming MSR_AMD64_VIRT_SPEC_CTRL. But, it might
create even more confusion, so dropped the idea for now.

v1:
https://lore.kernel.org/kvm/160738054169.28590.5171339079028237631.stgit@bmoger-ubuntu/

Babu Moger (2):
x86/cpufeatures: Add the Virtual SPEC_CTRL feature
KVM: SVM: Add support for Virtual SPEC_CTRL


arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/svm.h | 4 +++-
arch/x86/kvm/svm/sev.c | 4 ++++
arch/x86/kvm/svm/svm.c | 19 +++++++++++++++----
4 files changed, 23 insertions(+), 5 deletions(-)

--