[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3.1 11/15] xen/mm: introduce a function to map large chunks of MMIO
On Tue, Nov 29, 2016 at 06:00:47AM -0700, Jan Beulich wrote: > >>> On 29.11.16 at 13:41, <roger.pau@xxxxxxxxxx> wrote: > > On Fri, Nov 11, 2016 at 09:58:44AM -0700, Jan Beulich wrote: > >> >>> On 29.10.16 at 10:59, <roger.pau@xxxxxxxxxx> 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. > > Hmm, if it's to be used by non-init code, then it staying here would > make sense if it's also potentially useful to ARM. If it isn't, then > moving it to e.g. xen/arch/x86/mm.c might be better. If it was init > only, I would have wanted it to go into one of the more dedicated > init files ... Right, for the scope of this series this function is only used by domain build, so it makes sense to place it in domain_build.c under __init. If later on I need it for other purposes I will move it. Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |