On 15.04.2020 03:02, Stefano Stabellini wrote: > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -682,6 +682,7 @@ int arch_domain_create(struct domain *d, > return 0; > > ASSERT(config != NULL); > + d->arch.direct_map = flags != NULL ? flags->arch.is_direct_map : false;
Shouldn't "true" here imply ->disable_migrate also getting set to true? Or is this already the case anyway for domains created right at boot? > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -2527,6 +2527,7 @@ int __init construct_dom0(struct domain *d) > > iommu_hwdom_init(d); > > + d->arch.direct_map = true; Shouldn't this get set via arch_domain_create() instead? > --- a/xen/include/asm-x86/domain.h > +++ b/xen/include/asm-x86/domain.h > @@ -418,6 +418,8 @@ struct arch_domain > uint32_t emulation_flags; > } __cacheline_aligned; > > +struct arch_xen_dom_flags {}; This trivial x86 change Acked-by: Jan Beulich <jbeul...@suse.com> Jan