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

[RFC PATCH 1/4] xen/arm: Add wrapper find_unused_regions


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Koichiro Den <den@xxxxxxxxxxxxx>
  • Date: Sun, 22 Jun 2025 00:11:58 +0900
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=bk8C0BSlJhA6mVNaKbWnyvdYNwVgYQD2+aecmXqoNGU=; b=mMY8G9Jf6rDourwNJG6ROT4/HqOC9rcWnFLplOartW3HwJWaNGTYPOljddJNMOhAnp8QSuA/p6gyvhxlWXs6oxDo/cXQcNZsnVOuHRK3cHXU8wJJhEhSvDiniyNrQLEw06GGOD9xXsdcsUSjkpHnnt76RcPF2Lt6/LYE4j4ZiyKHyWP2+DmUyaTJZiWehiXunAO3SJAfGmUEyAxWc15qqXdAtcyy3thGFPzN/xbTuUrqm8dwOJVQf3SzxUyv7Ix+sN4m1yPrcP3ObJbYzFgsTlbHIrKt30jc90vgaiGX9pCZC2YL0n2RNyw67GtEO+N5jd+KiDTQtS9J++IstAIfqA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KguUZnrCkJU2Pmyn5JFZUL7C8Z6hQ59F0DPy+psbGRWSX+d9AOXcBc/DTMGwiEZZN3Q0T1qT5lOgt4nfDUdWREnTbyODX/9LGy5oAOEUR95tvTFv5SjMcEF0A4dntEhfVMYYIFXX1JrNqbxe8ihnODqdaf59Z6G28bF1/IgzjAMDRRkr/TV+6qZkaeRtNB7trJA10oXcLBPWc2NJLfzrWF+6Orv3avgPN70VqZaDIiqog/v1QZ08i/G01wgy1pRh80iQuPsnfGUOCx9IxrUDLXRSR04z6rsaYaCbPCwhDr+BnUKCvAuDmMGNwfyydqN2f6+jj2lQsOsZ5Am7vyzMSQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp;
  • Cc: Koichiro Den <den@xxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Sat, 21 Jun 2025 15:12:23 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

This is preparatory work for the upcoming commits that implement the
standard PV time interface (ARM DEN 0057A).

No functional changes intended.

Signed-off-by: Koichiro Den <den@xxxxxxxxxxxxx>
---
 xen/arch/arm/domain_build.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4ff161887ec3..9d44b6fa9470 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1070,6 +1070,23 @@ static int __init find_host_extended_regions(const 
struct kernel_info *kinfo,
     return res;
 }
 
+static int __init find_unused_regions(struct domain *d,
+                                      const struct kernel_info *kinfo,
+                                      struct membanks *ext_regions)
+{
+    if ( domain_use_host_layout(d) )
+    {
+        if ( !is_iommu_enabled(d) )
+            return find_host_extended_regions(kinfo, ext_regions);
+        else
+            return find_memory_holes(kinfo, ext_regions);
+    }
+    else
+    {
+        return find_domU_holes(kinfo, ext_regions);
+    }
+}
+
 int __init make_hypervisor_node(struct domain *d,
                                 const struct kernel_info *kinfo,
                                 int addrcells, int sizecells)
@@ -1121,17 +1138,7 @@ int __init make_hypervisor_node(struct domain *d,
         if ( !ext_regions )
             return -ENOMEM;
 
-        if ( domain_use_host_layout(d) )
-        {
-            if ( !is_iommu_enabled(d) )
-                res = find_host_extended_regions(kinfo, ext_regions);
-            else
-                res = find_memory_holes(kinfo, ext_regions);
-        }
-        else
-        {
-            res = find_domU_holes(kinfo, ext_regions);
-        }
+        res = find_unused_regions(d, kinfo, ext_regions);
 
         if ( res )
             printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
-- 
2.48.1




 


Rackspace

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