]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/xen.git/commitdiff
Nested VMX: update nested paging mode on vmexit
authorYang Zhang <yang.z.zhang@Intel.com>
Mon, 24 Feb 2014 11:09:52 +0000 (12:09 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 24 Feb 2014 11:09:52 +0000 (12:09 +0100)
Since SVM and VMX use different mechanism to emulate the virtual-vmentry
and virtual-vmexit, it's hard to update the nested paging mode correctly in
common code. So we need to update the nested paging mode in their respective
code path.
SVM already updates the nested paging mode on vmexit. This patch adds the same
logic in VMX side.

Previous discussion is here:
http://lists.xen.org/archives/html/xen-devel/2013-12/msg01759.html

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Reviewed-by: Christoph Egger <chegger@amazon.de>
xen/arch/x86/hvm/vmx/vmx.c

index f6409d6243a8ab635c53e94b532e1c4fee98a639..baf30401332f97ba712f8ab96f20bdf2e2b95904 100644 (file)
@@ -2541,6 +2541,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
     vcpu_nestedhvm(v).nv_vmswitch_in_progress = 0;
     if ( nestedhvm_vcpu_in_guestmode(v) )
     {
+        paging_update_nestedmode(v);
         if ( nvmx_n2_vmexit_handler(regs, exit_reason) )
             goto out;
     }