From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiantao Zhang Subject: [PATCH v3 06/10] nEPT: Sync PDPTR fields if L2 guest in PAE paging mode Date: Thu, 20 Dec 2012 23:43:47 +0800 Message-ID: <1356018231-26440-7-git-send-email-xiantao.zhang@intel.com> References: <1356018231-26440-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: <1356018231-26440-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 --- xen/arch/x86/hvm/vmx/vvmx.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 2ae6f6a..1f7de7a 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -826,7 +826,14 @@ 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