lkml.org 
[lkml]   [2016]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/5] VMX Capability MSRs
Date
This patchset adds support setting the VMX capability MSRs from userspace.
This is required for migration of nested-capable VMs to different CPUs and
KVM versions.

Patch 1 generates the non-true VMX MSRs using the true MSRs, which allows
userspace to skip restoring them.

Patch 2 adds support for restoring the VMX capability MSRs.

Patches 3 and 4 make KVM's emulation of MSR_IA32_VMX_CR{0,4}_FIXED1 more
accurate.

Patch 5 fixes a bug in emulated VM-entry that came up when testing patches
3 and 4.

Changes since v2:
* Generate CR0_FIXED1 in addition to CR4_FIXED1
* Generate "non-true" capability MSRs from the "true" versions and remove
"non-true" MSRs from struct nested_vmx.
* Disallow restore of CR{0,4}_FIXED1 and "non-true" MSRs since they are
generated.

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 (5):
KVM: nVMX: generate non-true VMX MSRs based on true versions
KVM: nVMX: support restore of VMX capability MSRs
KVM: nVMX: fix checks on CR{0,4} during virtual VMX operation
KVM: nVMX: generate MSR_IA32_CR{0,4}_FIXED1 from guest CPUID
KVM: nVMX: load GUEST_EFER after GUEST_CR0 during emulated VM-entry

arch/x86/include/asm/vmx.h | 31 +++
arch/x86/kvm/vmx.c | 479 +++++++++++++++++++++++++++++++++++++--------
2 files changed, 427 insertions(+), 83 deletions(-)

--
2.8.0.rc3.226.g39d4020

\
 
 \ /
  Last update: 2016-11-30 03:17    [W:0.808 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site