On 02.12.2023 02:27, Volodymyr Babchuk wrote: > --- a/xen/common/domain.c > +++ b/xen/common/domain.c > @@ -695,6 +695,9 @@ struct domain *domain_create(domid_t domid, > radix_tree_init(&d->pirq_tree); > } > > + if ( !is_idle_domain(d) ) > + d->iomem_caps = rangeset_new(d, "I/O Memory", > RANGESETF_prettyprint_hex); > + > if ( (err = arch_domain_create(d, config, flags)) != 0 ) > goto fail; > init_status |= INIT_arch; > @@ -711,7 +714,6 @@ struct domain *domain_create(domid_t domid, > watchdog_domain_init(d); > init_status |= INIT_watchdog; > > - d->iomem_caps = rangeset_new(d, "I/O Memory", > RANGESETF_prettyprint_hex); > d->irq_caps = rangeset_new(d, "Interrupts", 0); > if ( !d->iomem_caps || !d->irq_caps ) > goto fail;
I'm pretty sure I asked before why I/O mem caps' init would be moved, but IRQ caps' would remain where it is. Jan