From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qing He Subject: [PATCH 01/17] vmx: nest: fix CR4.VME in update_guest_cr Date: Thu, 22 Apr 2010 17:41:13 +0800 Message-ID: <1271929289-18572-2-git-send-email-qing.he@intel.com> References: <1271929289-18572-1-git-send-email-qing.he@intel.com> Return-path: In-Reply-To: <1271929289-18572-1-git-send-email-qing.he@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Qing He List-Id: xen-devel@lists.xenproject.org X86_CR4_VME in guest_cr[4] is updated in cr0 handling, but not in cr4 handling, fix it for guest VM86. Signed-off-by: Qing He --- vmx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -r 9be1d3918ec7 -r ca507122f84e xen/arch/x86/hvm/vmx/vmx.c --- a/xen/arch/x86/hvm/vmx/vmx.c Wed Apr 21 23:43:59 2010 +0800 +++ b/xen/arch/x86/hvm/vmx/vmx.c Thu Apr 22 21:28:41 2010 +0800 @@ -1174,7 +1174,8 @@ if ( paging_mode_hap(v->domain) ) v->arch.hvm_vcpu.hw_cr[4] &= ~X86_CR4_PAE; v->arch.hvm_vcpu.hw_cr[4] |= v->arch.hvm_vcpu.guest_cr[4]; - if ( v->arch.hvm_vmx.vmx_realmode ) + if ( v->arch.hvm_vmx.vmx_realmode || + (v->arch.hvm_vcpu.hw_cr[4] & X86_CR4_VME) ) v->arch.hvm_vcpu.hw_cr[4] |= X86_CR4_VME; if ( paging_mode_hap(v->domain) && !hvm_paging_enabled(v) ) {