Re: [PATCH 0/4] VMX Capability MSRs

From: Paolo Bonzini
Date: Wed Nov 23 2016 - 06:45:23 EST




On 23/11/2016 02:14, David Matlack wrote:
> This patchset includes v2 of "KVM: nVMX: support restore of VMX capability
> MSRs" (patch 1) as well as some additional related patches that came up
> while preparing v2.
>
> Patches 2 and 3 make KVM's emulation of MSR_IA32_VMX_CR{0,4}_FIXED1 more
> accurate. Patch 4 fixes a bug in emulated VM-entry that came up when
> testing patches 2 and 3.
>
> Changes since v1:
> * Support restoring less-capable versions of MSR_IA32_VMX_BASIC,
> MSR_IA32_VMX_CR{0,4}_FIXED{0,1}.
> * Include VMX_INS_OUTS in MSR_IA32_VMX_BASIC initial value.
>
> David Matlack (4):
> KVM: nVMX: support restore of VMX capability MSRs
> KVM: nVMX: fix checks on CR{0,4} during virtual VMX operation
> KVM: nVMX: accurate emulation of MSR_IA32_CR{0,4}_FIXED1
> KVM: nVMX: load GUEST_EFER after GUEST_CR0 during emulated VM-entry
>
> arch/x86/include/asm/vmx.h | 31 ++++
> arch/x86/kvm/vmx.c | 443 +++++++++++++++++++++++++++++++++++++++------
> 2 files changed, 421 insertions(+), 53 deletions(-)
>

The main question is whether patches 2-3 actually make
vmx_restore_fixed0/1_msr unnecessary, otherwise looks great.

It would be nice to have a testcase for patch 4, since it could go in
independently.

Paolo