Messages in this thread | | | From | Chenyi Qiang <> | Subject | [PATCH 0/5] Fix nested VMX controls MSRs | Date | Fri, 28 Aug 2020 16:56:17 +0800 |
| |
The first three patches fix a issue for the nested VMX controls MSRs. The issue happens when I use QEMU to run nested VM. The VM_{ENTRY, EXIT}_LOAD_IA32_PERF_GLOBAL_CTRL and VM_{ENTRY_LOAD, EXIT_CLEAR}_BNDCFGS in L1 MSR_IA32_VMX_TRUE_{ENTRY, EXIT}_CTLS MSR are always cleared regardless of whether it supports in L1. This is because QEMU gets the nested VMX MSRs from vmcs_config.nested_vmx_msrs which doesn't expose these two fields. Then, when QEMU initializes the features MSRs after SET_CPUID, it will override the nested VMX MSR values which has been updated according to guest CPUID during SET_CPUID. This patch series just expose the missing fields in nested VMX {ENTRY, EXIT} controls MSR and adds the support to update nested VMX MSRs after set_vmx_msrs.
The last two patches are a minor fix and cleanup.
Chenyi Qiang (5): KVM: nVMX: Fix VMX controls MSRs setup when nested VMX enabled KVM: nVMX: Verify the VMX controls MSRs with the global capability when setting VMX MSRs KVM: nVMX: Update VMX controls MSR according to guest CPUID after setting VMX MSRs KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control KVM: nVMX: Simplify the initialization of nested_vmx_msrs
arch/x86/kvm/vmx/nested.c | 79 +++++++++++++++++++++++++++------------ arch/x86/kvm/vmx/vmx.c | 9 +++-- 2 files changed, 62 insertions(+), 26 deletions(-)
-- 2.17.1
| |