On 16.01.2024 20:25, Elias El Yandouzi wrote: > From: Wei Liu <wei.l...@citrix.com> > > It is going to be needed by HVM and idle domain as well, because without > the direct map, both need a mapcache to map pages. > > This only lifts the mapcache variable up. Whether we populate the > mapcache for a domain is unchanged in this patch.
Is it? I wonder because of ... > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -843,6 +843,8 @@ int arch_domain_create(struct domain *d, > > psr_domain_init(d); > > + mapcache_domain_init(d); > + > if ( is_hvm_domain(d) ) > { > if ( (rc = hvm_domain_initialise(d, config)) != 0 ) > @@ -850,8 +852,6 @@ int arch_domain_create(struct domain *d, > } > else if ( is_pv_domain(d) ) > { > - mapcache_domain_init(d); > - > if ( (rc = pv_domain_initialise(d)) != 0 ) > goto fail; > } ... this and ... > --- a/xen/arch/x86/domain_page.c > +++ b/xen/arch/x86/domain_page.c > @@ -82,11 +82,11 @@ void *map_domain_page(mfn_t mfn) > #endif > > v = mapcache_current_vcpu(); > - if ( !v || !is_pv_vcpu(v) ) > + if ( !v ) > return mfn_to_virt(mfn_x(mfn)); ... this and yet more changes indicating otherwise. Yet if which domains have a mapcache set up is already changed here, I wonder whether the idle domain shouldn't be taken care of here as well. Jan