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

[PATCH v1 04/13] xen/arm: add P2M type parameter in guest_physmap_add_pages


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Penny Zheng <Penny.Zheng@xxxxxxx>
  • Date: Fri, 11 Mar 2022 14:11:14 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6aEzTY0gaHMjQiSKvKT0k3TGTcpG97yqj0yEvdhiK8g=; b=HIQWdE76JSyEuz974EBLEy0YR6SEmcCZbuze2cjEMHAqDTPb8qO0s6Za/Lq5NgqJUnvPjQ2f2oeuDc6CQYHZwGV8zReRswxQ5WBDqnm3FTtrKlmgNIi8Ig6FEWfIGEE7ejh/awzxVFDI4LlmV82YqJ6C6fFmVNbBuoYTOMZwlyWewkalyWzOofFFjHRqY00qtzBuYNlVYydchIY5BTiipsqSloS5esgAwl6vPesZTQgXcFlGcMAW4qT2nLhcuSVm3bCkusaWPmfvXDKzrcbfjAJN9ZeO11z3Mabm14qoLZnTdZ7kgS0YTS9w+NT5CqZp0MjFGlnWdnAjjsCDpe81Sw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O0O/fDEOT+ohxNpGx+e9A4Ok9MonqvvjUxtDEYbEB4gMEz0rXKlZoDpCr3CT2qbDixsI8oC6eZWrzjM6imYkp/dWYf6wfX3l2UY78zGHT1kwMApESI5wI7SLfgv8HyRmGX4TzOXW4JGb7iI9BR1xl9I/f72VjnHXjfrRqEyVZ9CdDn1aO1Up70ZvDcMn7x54juMm6mz+rjUZ3rQ+4xnuho+G4aZF+LKnoYWTAT/Loi2Ei0FDN66dk1ZPSeutogC7y8CcGpcSuBfLB6VAeYSQ8gWO0ZbLp1WNcNZHUjkS54fV2Edat4hmwwduPJ7a63XyFVSMgP4J+xuSGg6eWVeTlQ==
  • Cc: <nd@xxxxxxx>, Penny Zheng <penny.zheng@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 11 Mar 2022 06:12:53 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true

From: Penny Zheng <penny.zheng@xxxxxxx>

In order to cover the scenario where users intend to set up guest
p2m foreign mapping with nr_pages, this commit adds a new P2M type
parameter in guest_physmap_add_pages.

Signed-off-by: Penny Zheng <penny.zheng@xxxxxxx>
---
 xen/arch/arm/domain_build.c    | 5 +++--
 xen/arch/arm/include/asm/p2m.h | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6e6349caac..984e70e5fc 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -507,7 +507,7 @@ static bool __init append_static_memory_to_bank(struct 
domain *d,
     else
         sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
 
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages, p2m_ram_rw);
     if ( res )
     {
         dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
@@ -787,7 +787,8 @@ static int __init allocate_shared_memory(struct domain *d,
     if ( mfn_eq(smfn, INVALID_MFN) )
         return -EINVAL;
 
-    ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn, 
PFN_DOWN(psize));
+    ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn, 
PFN_DOWN(psize),
+                                  p2m_ram_rw);
     if ( ret )
     {
         dprintk(XENLOG_ERR, "Failed to map shared memory to %pd.\n", d);
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 8cce459b67..58590145b0 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -317,9 +317,10 @@ guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t 
mfn,
 static inline int guest_physmap_add_pages(struct domain *d,
                                           gfn_t gfn,
                                           mfn_t mfn,
-                                          unsigned int nr_pages)
+                                          unsigned int nr_pages,
+                                          p2m_type_t t)
 {
-    return p2m_insert_mapping(d, gfn, nr_pages, mfn, p2m_ram_rw);
+    return p2m_insert_mapping(d, gfn, nr_pages, mfn, t);
 }
 
 mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn);
-- 
2.25.1




 


Rackspace

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