From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nakajima, Jun" Subject: Re: [PATCH v3 04/13] nEPT: Define EPT-specific link_shadow_page() Date: Tue, 21 May 2013 14:44:34 -0700 Message-ID: References: <1368939152-11406-1-git-send-email-jun.nakajima@intel.com> <1368939152-11406-4-git-send-email-jun.nakajima@intel.com> <519B2D09.80201@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: "kvm@vger.kernel.org" , Gleb Natapov , Paolo Bonzini To: Xiao Guangrong Return-path: Received: from mail-la0-f43.google.com ([209.85.215.43]:47841 "EHLO mail-la0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751397Ab3EUVof (ORCPT ); Tue, 21 May 2013 17:44:35 -0400 Received: by mail-la0-f43.google.com with SMTP id ez20so1274842lab.30 for ; Tue, 21 May 2013 14:44:34 -0700 (PDT) In-Reply-To: <519B2D09.80201@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: Sure. Thanks for the suggestion. On Tue, May 21, 2013 at 1:15 AM, Xiao Guangrong wrote: > On 05/19/2013 12:52 PM, Jun Nakajima wrote: >> From: Nadav Har'El >> >> Since link_shadow_page() is used by a routine in mmu.c, add an >> EPT-specific link_shadow_page() in paging_tmp.h, rather than moving >> it. >> >> Signed-off-by: Nadav Har'El >> Signed-off-by: Jun Nakajima >> Signed-off-by: Xinhao Xu >> --- >> arch/x86/kvm/paging_tmpl.h | 20 ++++++++++++++++++++ >> 1 file changed, 20 insertions(+) >> >> diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h >> index 4c45654..dc495f9 100644 >> --- a/arch/x86/kvm/paging_tmpl.h >> +++ b/arch/x86/kvm/paging_tmpl.h >> @@ -461,6 +461,18 @@ static void FNAME(pte_prefetch)(struct kvm_vcpu *vcpu, struct guest_walker *gw, >> } >> } >> >> +#if PTTYPE == PTTYPE_EPT >> +static void FNAME(link_shadow_page)(u64 *sptep, struct kvm_mmu_page *sp) >> +{ >> + u64 spte; >> + >> + spte = __pa(sp->spt) | VMX_EPT_READABLE_MASK | VMX_EPT_WRITABLE_MASK | >> + VMX_EPT_EXECUTABLE_MASK; >> + >> + mmu_spte_set(sptep, spte); >> +} >> +#endif > > The only difference between this function and the current link_shadow_page() > is shadow_accessed_mask. Can we add a parameter to eliminate this difference, > some like: > > static void link_shadow_page(u64 *sptep, struct kvm_mmu_page *sp, bool accessed) > { > u64 spte; > > spte = __pa(sp->spt) | PT_PRESENT_MASK | PT_WRITABLE_MASK | > shadow_user_mask | shadow_x_mask; > > if (accessed) > spte |= shadow_accessed_mask; > > mmu_spte_set(sptep, spte); > } > > ? > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Jun Intel Open Source Technology Center