On Fri, Nov 11, 2016 at 09:58:44AM -0700, Jan Beulich wrote:
> >>> On 29.10.16 at 10:59, <roger....@citrix.com> wrote:
> > Current {un}map_mmio_regions implementation has a maximum number of loops to
> > perform before giving up and returning to the caller. This is an issue when
> > mapping large MMIO regions when building the hardware domain. In order to
> > solve it, introduce a wrapper around {un}map_mmio_regions that takes care of
> > calling process_pending_softirqs between consecutive {un}map_mmio_regions
> > calls.
> 
> So is this something that's going to be needed for other than
> hwdom building? Because if not ...

Yes, something similar will also be used by PHYSDEVOP_pci_mmcfg_reserved, but 
that would require hypercall continuations instead of processing pending 
softirqs.
 
> > --- a/xen/common/memory.c
> > +++ b/xen/common/memory.c
> > @@ -1418,6 +1418,32 @@ int prepare_ring_for_helper(
> >      return 0;
> >  }
> >  
> > +int modify_identity_mmio(struct domain *d, unsigned long pfn,
> > +                         unsigned long nr_pages, bool map)
> 
> ... I don't think the function belongs here, and it should be
> marked __hwdom_init.

Were would you recommend adding it? Take into account that's also going to be 
used by other code apart from the ACPI Dom0 builder, like the PCI BAR mapping.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to