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

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



Hi,

On 03/21/2018 04:47 AM, Julien Grall wrote:
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
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 v6:
         - Add a comment to explain why we implement dummy version of M2P
         for Arm.
         - Add George's reviewed-by

Sorry I added in the changelog but forgot to add George's reviewed-by

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

Cheers,

         - Fix typo in the commit message

     Changes in v4:
         - Patch added.
---
  xen/include/asm-arm/mm.h | 29 ++++++++---------------------
  1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index a0e922f360..cabb1daf30 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -313,33 +313,20 @@ 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;
  }
+/*
+ * Arm does not have an M2P, but common code expects a handful of
+ * M2P-related defines and functions. Provide dummy versions of these.
+ */
+#define INVALID_M2P_ENTRY        (~0UL)
+#define SHARED_M2P_ENTRY         (~0UL - 1UL)
+#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
+
  /* Xen always owns P2M on ARM */
  #define set_gpfn_from_mfn(mfn, pfn) do { (void) (mfn), (void)(pfn); } while 
(0)
  #define mfn_to_gmfn(_d, mfn)  (mfn)


--
Julien Grall

_______________________________________________
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®.