Re: [PATCH 0/5] Fix nested VMX controls MSRs

From: Paolo Bonzini
Date: Fri Sep 11 2020 - 13:11:51 EST


On 28/08/20 10:56, Chenyi Qiang wrote:
> 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(-)
>

Queued patch 1/4/5, thanks.

Paolo