public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] KVM: SVM: Virtual VMLOAD VMSAVE
@ 2017-07-06 20:50 Janakarajan Natarajan
  2017-07-06 20:50 ` [PATCH v2 1/4] KVM: SVM: Prepare for new bit definition in lbr_ctl Janakarajan Natarajan
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Janakarajan Natarajan @ 2017-07-06 20:50 UTC (permalink / raw)
  To: kvm; +Cc: Paolo Bonzini, Radim Krcmar, Joerg Roedel, Janakarajan Natarajan

This patchset adds support for the Virtual VMLOAD VMSAVE feature. This
feature allows the VMLOAD and VMSAVE instructions to be executed in the
Guest mode and not require a #VMEXIT. The value in the RAX for VMLOAD
and VMSAVE is treated as a guest physical address and is translated to
the host physical address and then the instruction does its normal
operation.

This feature is enabled by setting bit 1 at position B8h in the VMCB. This
bit is set only if the hypervisor has nested paging enabled, is in 64-bit
mode and has support for the Virtual VMLOAD VMSAVE feature. Any page
faults during this will result in a normal #VMEXIT with nested page fault
as the exit code.

The advantage of this feature will be the greatly reduced number of world
switches to support the VMLOAD and VMSAVE instructions by the outermost
hypervisor at Current Privilege Level (CPL) 0.

This has been tested with Xen, Hyper-V and KVM as the nested hypervisors.

v1->v2:
* Added module parameter for Virtual VMLOAD VMSAVE and set its default
  state to TRUE.

Janakarajan Natarajan (4):
  KVM: SVM: Prepare for new bit definition in lbr_ctl
  KVM: SVM: Rename lbr_ctl field in the vmcb control area
  KVM: SVM: Add Virtual VMLOAD VMSAVE feature definition
  KVM: SVM: Enable Virtual VMLOAD VMSAVE feature

 arch/x86/include/asm/cpufeatures.h |  1 +
 arch/x86/include/asm/svm.h         |  5 ++++-
 arch/x86/kvm/svm.c                 | 34 +++++++++++++++++++++++++++++-----
 3 files changed, 34 insertions(+), 6 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-07-26  9:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-06 20:50 [PATCH v2 0/4] KVM: SVM: Virtual VMLOAD VMSAVE Janakarajan Natarajan
2017-07-06 20:50 ` [PATCH v2 1/4] KVM: SVM: Prepare for new bit definition in lbr_ctl Janakarajan Natarajan
2017-07-06 20:50 ` [PATCH v2 2/4] KVM: SVM: Rename lbr_ctl field in the vmcb control area Janakarajan Natarajan
2017-07-06 20:50 ` [PATCH v2 3/4] KVM: SVM: Add Virtual VMLOAD VMSAVE feature definition Janakarajan Natarajan
2017-07-06 20:50 ` [PATCH v2 4/4] KVM: SVM: Enable Virtual VMLOAD VMSAVE feature Janakarajan Natarajan
2017-07-26  9:41   ` Joerg Roedel
2017-07-07  8:41 ` [PATCH v2 0/4] KVM: SVM: Virtual VMLOAD VMSAVE Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox