Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752703AbcD0Cyi (ORCPT ); Tue, 26 Apr 2016 22:54:38 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:34651 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752227AbcD0Cyh (ORCPT ); Tue, 26 Apr 2016 22:54:37 -0400 MIME-Version: 1.0 In-Reply-To: <56B85FFA02000048001251CE@prv-mh.provo.novell.com> References: <1454539876-8310-1-git-send-email-brogers@suse.com> <56B8AFAF.7090509@redhat.com> <56B85FFA02000048001251CE@prv-mh.provo.novell.com> Date: Wed, 27 Apr 2016 10:54:36 +0800 Message-ID: Subject: Re: [PATCH 1/2] KVM: x86: fix ordering of cr0 initialization code in vmx_cpu_reset From: Wanpeng Li To: Bruce Rogers Cc: Paolo Bonzini , kvm , "linux-kernel@vger.kernel.org" , Nadav Amit , "J. Kiszka" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1267 Lines: 34 2016-02-09 0:29 GMT+08:00 Bruce Rogers : >>>> On 2/8/2016 at 08:09 AM, Paolo Bonzini wrote: > >> >> On 03/02/2016 23:51, Bruce Rogers wrote: >>> >>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >>> index e2951b6..21507b4 100644 >>> --- a/arch/x86/kvm/vmx.c >>> +++ b/arch/x86/kvm/vmx.c >>> @@ -4993,8 +4993,8 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool >> init_event) >>> vmcs_write16(VIRTUAL_PROCESSOR_ID, vmx->vpid); >>> >>> cr0 = X86_CR0_NW | X86_CR0_CD | X86_CR0_ET; >>> - vmx_set_cr0(vcpu, cr0); /* enter rmode */ >>> vmx->vcpu.arch.cr0 = cr0; >>> + vmx_set_cr0(vcpu, cr0); /* enter rmode */ >> >> Your comment that the assignment is redundant is correct, but I am >> afraid that this fix is also wrong. In particular, it would not cause >> exit_lmode and enter_rmode to be called. >> >> You are not describing which call to kvm_mmu_reset_context was messed >> up, so I'm not sure how your patch is fixing things. > > This is in the context of AP sending INIT to BSP with unrestricted_guest=N. BSP will broadcast INIT-SIPI-SIPI sequence to APs during initialization, could you point out when "AP sending INIT to BSP" as you mentioned above in SDM? Regards, Wanpeng Li