From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [PATCH 02/12] kvm/svm: add helper functions for global interrupt flag Date: Wed, 29 Jul 2009 15:44:03 +0200 Message-ID: <20090729134403.GI18313@amd.com> References: <1248872192-30881-1-git-send-email-joerg.roedel@amd.com> <1248872192-30881-3-git-send-email-joerg.roedel@amd.com> <4A704B5F.5000206@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: Avi Kivity , kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Alexander Graf Return-path: Received: from va3ehsobe003.messaging.microsoft.com ([216.32.180.13]:19026 "EHLO VA3EHSOBE003.bigfish.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755542AbZG2NpG (ORCPT ); Wed, 29 Jul 2009 09:45:06 -0400 Content-Disposition: inline In-Reply-To: <4A704B5F.5000206@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, Jul 29, 2009 at 03:15:11PM +0200, Alexander Graf wrote: > Joerg Roedel wrote: > > Signed-off-by: Joerg Roedel > > --- > > arch/x86/kvm/svm.c | 31 +++++++++++++++++++++++-------- > > 1 files changed, 23 insertions(+), 8 deletions(-) > > > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > > index 27d26c3..9f69b25 100644 > > --- a/arch/x86/kvm/svm.c > > +++ b/arch/x86/kvm/svm.c > > @@ -136,6 +136,21 @@ static inline bool is_nested(struct vcpu_svm *svm) > > return svm->nested_vmcb; > > } > > > > +static inline void enable_gif(struct vcpu_svm *svm) > > +{ > > + svm->vcpu.arch.hflags |= HF_GIF_MASK; > > +} > > + > > +static inline void disable_gif(struct vcpu_svm *svm) > > +{ > > + svm->vcpu.arch.hflags &= ~HF_GIF_MASK; > > +} > > + > > +static inline bool gif_set(struct vcpu_svm *svm) > > +{ > > + return !!(svm->vcpu.arch.hflags & HF_GIF_MASK); > > +} > > + > > static unsigned long iopm_base; > > > > struct kvm_ldttss_desc { > > @@ -630,7 +645,7 @@ static void init_vmcb(struct vcpu_svm *svm) > > force_new_asid(&svm->vcpu); > > > > svm->nested_vmcb = 0; > > - svm->vcpu.arch.hflags = HF_GIF_MASK; > > + enable_gif(svm); > > > > Are we sure hflags is always 0 here? Hmm, yes. Except for the vcpu reset path clear_page is called for before init_vmcb is called. I'll change it to set hflags to 0 in this function. Joerg