|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 01/10] xen: add a p2mt parameter to map_mmio_regions
On Thu, 2 May 2019, Jan Beulich wrote:
> >>> On 30.04.19 at 23:02, <sstabellini@xxxxxxxxxx> wrote:
> > --- a/xen/arch/x86/hvm/dom0_build.c
> > +++ b/xen/arch/x86/hvm/dom0_build.c
> > @@ -79,8 +79,11 @@ static int __init modify_identity_mmio(struct domain *d,
> > unsigned long pfn,
> >
> > for ( ; ; )
> > {
> > - rc = map ? map_mmio_regions(d, _gfn(pfn), nr_pages, _mfn(pfn))
> > - : unmap_mmio_regions(d, _gfn(pfn), nr_pages, _mfn(pfn));
> > + if ( map )
> > + rc = map_mmio_regions(d, _gfn(pfn), nr_pages, _mfn(pfn),
> > + p2m_mmio_direct);
> > + else
> > + rc = unmap_mmio_regions(d, _gfn(pfn), nr_pages, _mfn(pfn));
>
> May I ask that you leave alone the use of the conditional
> operator here, and _just_ add the new argument?
Yes, I can do that. This change is due to the way it was done in the
previous version of the series, it doesn't make sense anymore.
> > --- a/xen/arch/x86/mm/p2m.c
> > +++ b/xen/arch/x86/mm/p2m.c
> > @@ -2264,12 +2264,16 @@ static unsigned int mmio_order(const struct domain
> > *d,
> > int map_mmio_regions(struct domain *d,
> > gfn_t start_gfn,
> > unsigned long nr,
> > - mfn_t mfn)
> > + mfn_t mfn,
> > + p2m_type_t p2mt)
> > {
> > int ret = 0;
> > unsigned long i;
> > unsigned int iter, order;
> >
> > + if ( p2mt != p2m_mmio_direct )
> > + return -EOPNOTSUPP;
>
> Considering this and ...
>
> > --- a/xen/common/domctl.c
> > +++ b/xen/common/domctl.c
> > @@ -927,6 +927,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t)
> > u_domctl)
> > unsigned long nr_mfns = op->u.memory_mapping.nr_mfns;
> > unsigned long mfn_end = mfn + nr_mfns - 1;
> > int add = op->u.memory_mapping.add_mapping;
> > + p2m_type_t p2mt;
> >
> > ret = -EINVAL;
> > if ( mfn_end < mfn || /* wrap? */
> > @@ -939,6 +940,10 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t)
> > u_domctl)
> > /* Must break hypercall up as this could take a while. */
> > if ( nr_mfns > 64 )
> > break;
> > +
> > + p2mt = p2m_mmio_direct_dev;
> > +#else
> > + p2mt = p2m_mmio_direct;
> > #endif
>
> ... this, is there really value in adding the new parameter for
> x86? A wrapper macro of the same name could be used to
> strip the new last argument at all call sites (current and future
> ones).
Sure, no problem.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |