From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiantao Zhang Subject: [PATCH v5 06/10] nEPT: Sync PDPTR fields if L2 guest in PAE paging mode Date: Wed, 9 Jan 2013 12:16:20 +0800 Message-ID: <1357704984-11614-7-git-send-email-xiantao.zhang@intel.com> References: <1357704984-11614-1-git-send-email-xiantao.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1357704984-11614-1-git-send-email-xiantao.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: keir@xen.org, jun.nakajima@intel.com, tim@xen.org, eddie.dong@intel.com, JBeulich@suse.com, Zhang Xiantao List-Id: xen-devel@lists.xenproject.org From: Zhang Xiantao For PAE L2 guest, GUEST_DPPTR registers needs to be synced for each virtual vmentry. Signed-off-by: Zhang Xiantao Acked-by: Tim Deegan --- xen/arch/x86/hvm/vmx/vvmx.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 3bf23bb..193b56d 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -859,7 +859,15 @@ static void load_shadow_guest_state(struct vcpu *v) vvmcs_to_shadow(vvmcs, CR0_GUEST_HOST_MASK); vvmcs_to_shadow(vvmcs, CR4_GUEST_HOST_MASK); - /* TODO: PDPTRs for nested ept */ + if ( nvmx_ept_enabled(v) && hvm_pae_enabled(v) && + (v->arch.hvm_vcpu.guest_efer & EFER_LMA) ) + { + vvmcs_to_shadow(vvmcs, GUEST_PDPTR0); + vvmcs_to_shadow(vvmcs, GUEST_PDPTR1); + vvmcs_to_shadow(vvmcs, GUEST_PDPTR2); + vvmcs_to_shadow(vvmcs, GUEST_PDPTR3); + } + /* TODO: CR3 target control */ } -- 1.7.1