> > > > > > > > > > - gfn = gpte_to_gfn(gpte); > > > + gfn = gpte_to_gfn(vcpu, gpte); > > > pte_access = sp->role.access; > > > pte_access &= FNAME(gpte_access)(gpte); > > > FNAME(protect_clean_gpte)(vcpu->arch.mmu, &pte_access, gpte); > > > > In commit message you mentioned "Don't support stolen bits for shadow EPT" (you > > actually mean shadow MMU I suppose), yet there's bunch of code change to shadow > > MMU. > > It's a bit ugly, but it's uglier to keep two versions of gpte_to_gfn. gpte_to_gfn() is only used in paging_tmpl.h. Could you elaborate why we need to keep two versions of it? -- Thanks, -Kai