linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Expose VMFUNC to the nested hypervisor
@ 2017-06-29 23:29 Bandan Das
  2017-06-29 23:29 ` [PATCH 1/2] KVM: nVMX: Implement EPTP switching for the L1 hypervisor Bandan Das
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Bandan Das @ 2017-06-29 23:29 UTC (permalink / raw)
  To: kvm; +Cc: pbonzini, linux-kernel

These patches expose eptp switching/vmfunc to the nested hypervisor. Testing with
kvm-unit-tests seems to work ok.

If the guest hypervisor enables vmfunc/eptp switching, a "shadow" eptp list
address page is written to the VMCS. Initially, it would be unpopulated which
would result in a vmexit with exit reason 59. This hooks to handle_vmfunc()
to rewrite vmcs12->ept_pointer to reload the mmu and get a new root hpa.
This new shadow ept pointer is written to the shadow eptp list in the given
index. A next vmfunc call to switch to the given index would succeed without
an exit.

Bandan Das (2):
  KVM: nVMX: Implement EPTP switching for the L1 hypervisor
  KVM: nVMX: Advertise VMFUNC to L1 hypervisor

 arch/x86/include/asm/vmx.h |   9 ++++
 arch/x86/kvm/vmx.c         | 122 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+)

-- 
2.9.4

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

end of thread, other threads:[~2017-07-01  5:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29 23:29 [PATCH 0/2] Expose VMFUNC to the nested hypervisor Bandan Das
2017-06-29 23:29 ` [PATCH 1/2] KVM: nVMX: Implement EPTP switching for the L1 hypervisor Bandan Das
2017-06-30  7:29   ` Paolo Bonzini
2017-06-30 17:20     ` Bandan Das
2017-07-01  5:34       ` Paolo Bonzini
2017-06-29 23:29 ` [PATCH 2/2] KVM: nVMX: Advertise VMFUNC to " Bandan Das
2017-06-30 17:06 ` [PATCH 0/2] Expose VMFUNC to the nested hypervisor Jim Mattson
2017-06-30 17:58   ` Bandan Das
2017-06-30 19:06   ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).