From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bandan Das Subject: [PATCH 0/2] Expose VMFUNC to the nested hypervisor Date: Thu, 29 Jun 2017 19:29:54 -0400 Message-ID: <20170629232956.12300-1-bsd@redhat.com> Cc: pbonzini@redhat.com, linux-kernel@vger.kernel.org To: kvm@vger.kernel.org Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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