From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Zhang Subject: [PATCH 1/3] Nested VMX: update nested paging mode when vmswitch is in progress Date: Thu, 12 Dec 2013 10:06:42 +0800 Message-ID: <1386814004-5574-2-git-send-email-yang.z.zhang@intel.com> References: <1386814004-5574-1-git-send-email-yang.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1386814004-5574-1-git-send-email-yang.z.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: Yang Zhang , eddie.dong@intel.com, JBeulich@suse.com List-Id: xen-devel@lists.xenproject.org From: Yang Zhang virtual vmentry will change paging related stucture, so corrensponding nested mode need to be updated which is missing currently. Signed-off-by: Yang Zhang --- xen/arch/x86/hvm/hvm.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) This patch fixed RHEL6 guest installation problem with L1 hyper-v. diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 69f7e74..1f62e00 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -1925,7 +1925,7 @@ int hvm_set_cr0(unsigned long value) hvm_update_cr(v, 0, value); if ( (value ^ old_value) & X86_CR0_PG ) { - if ( !nestedhvm_vmswitch_in_progress(v) && nestedhvm_vcpu_in_guestmode(v) ) + if ( nestedhvm_vcpu_in_guestmode(v) ) paging_update_nestedmode(v); else paging_update_paging_modes(v); @@ -2014,7 +2014,7 @@ int hvm_set_cr4(unsigned long value) (X86_CR4_PSE | X86_CR4_PGE | X86_CR4_PAE | X86_CR4_SMEP)) || (!(value & X86_CR4_PCIDE) && (old_cr & X86_CR4_PCIDE)) ) { - if ( !nestedhvm_vmswitch_in_progress(v) && nestedhvm_vcpu_in_guestmode(v) ) + if ( nestedhvm_vcpu_in_guestmode(v) ) paging_update_nestedmode(v); else paging_update_paging_modes(v); -- 1.7.1