>>> Sergey Dyasli <sergey.dya...@citrix.com> 08/03/17 4:20 PM >>> >On Tue, 2017-08-01 at 09:55 +0200, Egger, Christoph wrote: >> On 18.07.17 12:34, Sergey Dyasli wrote: >> > @@ -1773,6 +1780,27 @@ p2m_flush_nestedp2m(struct domain *d) >> > p2m_flush_table(d->arch.nested_p2m[i]); >> > } >> > >> > +void np2m_flush_eptp(struct vcpu *v, unsigned long eptp) >> > +{ >> > + struct domain *d = v->domain; >> > + struct p2m_domain *p2m; >> > + unsigned int i; >> > + >> > + eptp &= ~(0xfffull); >> > + >> > + nestedp2m_lock(d); >> > + for ( i = 0; i < MAX_NESTEDP2M; i++ ) >> > + { >> > + p2m = d->arch.nested_p2m[i]; >> > + p2m_lock(p2m); >> > + if ( p2m->np2m_base == eptp ) >> > + p2m_flush_table_locked(p2m); >> > + else >> > + p2m_unlock(p2m); >> > + } >> > + nestedp2m_unlock(d); >> > +} >> > + >> >> What exactly is eptp specific in this function ? > >Yes, good point. I seem to be too focused on Intel. The correct parameter >name should be np2m_base, of course.
And (at the risk of stating the obvious) the function name shouldn't include "ept" then either. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel