On Wed, Oct 28, 2020 at 10:22:04AM +0100, Jan Beulich wrote: > As it gets installed by p2m_pt_init(), it doesn't need to live in > paging.c. The function working in terms of l1_pgentry_t even further > indicates its non-paging-generic nature. Move it and drop its > paging_ prefix, not adding any new one now that it's static. > > This then also makes more obvious that in the EPT case we wouldn't > risk mistakenly calling through the NULL hook pointer. > > Signed-off-by: Jan Beulich <jbeul...@suse.com>
Acked-by: Roger Pau Monné <roger....@citrix.com> > > --- a/xen/arch/x86/mm/p2m-pt.c > +++ b/xen/arch/x86/mm/p2m-pt.c > @@ -108,6 +108,31 @@ static unsigned long p2m_type_to_flags(c > } > } > > +/* > + * Atomically write a P2M entry and update the paging-assistance state > + * appropriately. > + * Arguments: the domain in question, the GFN whose mapping is being updated, > + * a pointer to the entry to be written, the MFN in which the entry resides, > + * the new contents of the entry, and the level in the p2m tree at which > + * we are writing. > + */ > +static int write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, > + l1_pgentry_t *p, l1_pgentry_t new, > + unsigned int level) > +{ > + struct domain *d = p2m->domain; > + struct vcpu *v = current; I think you could constify both? Thanks, Roger.