On 03/29/2012 11:22 AM, Xiao Guangrong wrote: > It can calculate the base gpa of the specified shadow page on any level, > let it instead of FNAME(get_level1_sp_gpa) > > > +static gpa_t FNAME(get_sp_gpa)(struct kvm_mmu_page *sp) > +{ Maybe worth adding a pte index and calling it get_spte_gpa(), depends on the next patches I guess. > + int offset, shift; > + > + shift = PAGE_SHIFT - (PT_LEVEL_BITS - PT64_LEVEL_BITS) * sp->role.level; > + offset = sp->role.quadrant << shift; if you add '& ~PAGE_MASK' the compiler may be smart enough to drop the whole thing for 64-bit ptes. > + > + return gfn_to_gpa(sp->gfn) + offset; > +} > + > /* > * Page fault handler. There are several causes for a page fault: > * - there is no shadow pte for the guest pte > @@ -659,18 +669,6 @@ out_unlock: > return 0; > -- error compiling committee.c: too many arguments to function -- 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