[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v10 02/12] arch/arm: unmap partially-mapped I/O-memory regions



Hi Arianna,

On 07/28/2014 11:11 PM, Arianna Avanzini wrote:
 > diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 8feb5c5..2745279 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -713,7 +713,7 @@ static int apply_p2m_changes(struct domain *d,
>      int rc, ret;
>      struct p2m_domain *p2m = &d->arch.p2m;
>      lpae_t *first = NULL, *second = NULL, *third = NULL;
> -    paddr_t addr;
> +    paddr_t addr, orig_maddr = maddr;
>      unsigned long cur_first_page = ~0,
>                    cur_first_offset = ~0,
>                    cur_second_offset = ~0;
> @@ -844,6 +844,10 @@ out:
>      if (third) unmap_domain_page(third);
>      if (second) unmap_domain_page(second);
>      if (first) unmap_domain_page(first);
> +    if ( rc < 0 && mattr == MATTR_DEV && ( op == INSERT || op == ALLOCATE ) )
> +        apply_p2m_changes(d, REMOVE, start_gpaddr,
> +                          end_gpaddr, orig_maddr,
> +                          MATTR_DEV, p2m_invalid);

I though we agreed to handle remove for any kind of mapping... Why did
you change to only apply for I/O-memory regions?

Hence, testing mattr to check if it's an MMIO regions looks wrong to me.

Regards,

-- 
Julien Grall

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.