From: Yang Zhang Date: Mon, 24 Feb 2014 11:09:52 +0000 (+0100) Subject: Nested VMX: update nested paging mode on vmexit X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5561 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fd1864f48d8914fb8eeb6841cd08c2c09b368909;p=xen.git Nested VMX: update nested paging mode on vmexit 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 Reviewed-by: Christoph Egger --- diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index f6409d6243..baf3040133 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -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; }