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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
