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

Re: [Xen-devel] [PATCH v5 04/16] xen/arm: mm: Remove unused M2P code



On Wed, Mar 14, 2018 at 6:19 PM,  <julien.grall@xxxxxxx> wrote:
> From: Julien Grall <julien.grall@xxxxxxx>
>
> Arm does not have an M2P and very unlikely to get one in the future,
> therefore don't keep defines that are not necessary in the common code.
>
> At the same time move the remaining M2P define just above just above
> set_gpfn_from_mfn to keep all the dummy helpers for M2P together.
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
>
> ---
>
> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>
>     Changes in v4:
>         - Patch added.
> ---
>  xen/include/asm-arm/mm.h | 25 ++++---------------------
>  1 file changed, 4 insertions(+), 21 deletions(-)
>
> diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
> index 4d5563b0ce..c03f4ad674 100644
> --- a/xen/include/asm-arm/mm.h
> +++ b/xen/include/asm-arm/mm.h
> @@ -320,33 +320,16 @@ static inline void *page_to_virt(const struct page_info 
> *pg)
>  struct page_info *get_page_from_gva(struct vcpu *v, vaddr_t va,
>                                      unsigned long flags);
>
> -/*
> - * The MPT (machine->physical mapping table) is an array of word-sized
> - * values, indexed on machine frame number. It is expected that guest OSes
> - * will use it to store a "physical" frame number to give the appearance of
> - * contiguous (or near contiguous) physical memory.
> - */
> -#undef  machine_to_phys_mapping
> -#define machine_to_phys_mapping  ((unsigned long *)RDWR_MPT_VIRT_START)
> -#define INVALID_M2P_ENTRY        (~0UL)
> -#define VALID_M2P(_e)            (!((_e) & (1UL<<(BITS_PER_LONG-1))))
> -#define SHARED_M2P_ENTRY         (~0UL - 1UL)
> -#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
> -
> -#define _set_gpfn_from_mfn(mfn, pfn) ({                        \
> -    struct domain *d = page_get_owner(__mfn_to_page(mfn));     \
> -    if(d && (d == dom_cow))                                    \
> -        machine_to_phys_mapping[(mfn)] = SHARED_M2P_ENTRY;     \
> -    else                                                       \
> -        machine_to_phys_mapping[(mfn)] = (pfn);                \
> -    })
> -
>  static inline void put_gfn(struct domain *d, unsigned long gfn) {}
>  static inline int relinquish_shared_pages(struct domain *d)
>  {
>      return 0;
>  }
>
> +#define INVALID_M2P_ENTRY        (~0UL)
> +#define SHARED_M2P_ENTRY         (~0UL - 1UL)
> +#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)

I think I might add a comment here like this:

"ARM doesn't have an M2P, but common code expects a handful of
M2P-related defines and functions.  Provide dummy versions of these."

Other than that looks good:

Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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