From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v3 03/13] nEPT: Add EPT tables support to paging_tmpl.h Date: Wed, 22 May 2013 09:10:45 +0800 Message-ID: <519C1B15.5030706@linux.vnet.ibm.com> References: <1368939152-11406-1-git-send-email-jun.nakajima@intel.com> <1368939152-11406-3-git-send-email-jun.nakajima@intel.com> <519B27AC.6090903@linux.vnet.ibm.com> <519B3095.5020209@linux.vnet.ibm.com> <20130521090102.GA4725@redhat.com> <519B54EF.80906@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , "kvm@vger.kernel.org" , Paolo Bonzini To: "Nakajima, Jun" Return-path: Received: from e28smtp05.in.ibm.com ([122.248.162.5]:35954 "EHLO e28smtp05.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753519Ab3EVBKx (ORCPT ); Tue, 21 May 2013 21:10:53 -0400 Received: from /spool/local by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 22 May 2013 06:36:37 +0530 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id C561A394002D for ; Wed, 22 May 2013 06:40:49 +0530 (IST) Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r4M1Ah5T6226310 for ; Wed, 22 May 2013 06:40:43 +0530 Received: from d28av01.in.ibm.com (loopback [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r4M1Alac020668 for ; Wed, 22 May 2013 01:10:48 GMT In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 05/22/2013 06:26 AM, Nakajima, Jun wrote: > On Tue, May 21, 2013 at 4:05 AM, Xiao Guangrong > wrote: >> On 05/21/2013 05:01 PM, Gleb Natapov wrote: >>> On Tue, May 21, 2013 at 04:30:13PM +0800, Xiao Guangrong wrote: >>>>>> @@ -772,6 +810,7 @@ static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gva_t vaddr, >>>>>> >>>>>> return gpa; >>>>>> } >>>>>> +#endif >>>>> >>>>> Strange! >>>>> >>>>> Why does nested ept not need these functions? How to emulate the instruction faulted on L2? >>>> >>>> Sorry, i misunderstood it. Have found the reason out. >>>> >>> You can write it down here for future reviewers :) >> >> Okay. >> >> The functions used to translate L2's gva to L1's gpa are paging32_gva_to_gpa_nested >> and paging64_gva_to_gpa_nested which are created by PTTYPE == 32 and PTTYPE == 64. >> >> > > Back to your comments on PT_MAX_FULL_LEVELS: >> + #ifdef CONFIG_X86_64 >> + #define PT_MAX_FULL_LEVELS 4 >> + #define CMPXCHG cmpxchg >> + #else >> + #define CMPXCHG cmpxchg64 >> + #define PT_MAX_FULL_LEVELS 2 > I don't think we need to support nEPT on 32-bit hosts. So, I plan to > remove such code. What do you think? Good to me. :)