On 05/22/2013 06:26 AM, Nakajima, Jun wrote: > On Tue, May 21, 2013 at 4:05 AM, Xiao Guangrong > <xiaoguangrong@xxxxxxxxxxxxxxxxxx> 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. :) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html