From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Penny Zheng <penny.zheng@arm.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Julien Grall <julien@xen.org>,
Bertrand Marquis <bertrand.marquis@arm.com>,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 8/8] xen/arm: enable statically shared memory on Dom0
Date: Mon, 20 Jun 2022 13:11:14 +0800 [thread overview]
Message-ID: <20220620051114.210118-9-Penny.Zheng@arm.com> (raw)
In-Reply-To: <20220620051114.210118-1-Penny.Zheng@arm.com>
From: Penny Zheng <penny.zheng@arm.com>
To add statically shared memory nodes in Dom0, user shall put according
static shared memory configuration under /chosen node.
This commit adds shm-processing function process_shm in construct_dom0
to enable statically shared memory on Dom0.
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v5 change:
- no change
---
v4 change:
- no change
---
v3 change:
- no change
---
v2 change:
- no change
---
xen/arch/arm/domain_build.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4d62440a0e..b57c60f411 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2658,6 +2658,11 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
if ( res )
return res;
}
+
+ res = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+ &kinfo->shm_mem);
+ if ( res )
+ return res;
}
res = fdt_end_node(kinfo->fdt);
@@ -3730,6 +3735,9 @@ static int __init construct_dom0(struct domain *d)
{
struct kernel_info kinfo = {};
int rc;
+#ifdef CONFIG_STATIC_SHM
+ const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+#endif
/* Sanity! */
BUG_ON(d->domain_id != 0);
@@ -3764,6 +3772,12 @@ static int __init construct_dom0(struct domain *d)
allocate_memory_11(d, &kinfo);
find_gnttab_region(d, &kinfo);
+#ifdef CONFIG_STATIC_SHM
+ rc = process_shm(d, &kinfo, chosen);
+ if ( rc < 0 )
+ return rc;
+#endif
+
/* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
rc = gic_map_hwdom_extra_mappings(d);
if ( rc < 0 )
--
2.25.1
prev parent reply other threads:[~2022-06-20 5:19 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-20 5:11 [PATCH v5 0/8] static shared memory on dom0less system Penny Zheng
2022-06-20 5:11 ` [PATCH v5 1/8] xen/arm: introduce static shared memory Penny Zheng
2022-06-24 17:55 ` Julien Grall
2022-06-29 5:38 ` Penny Zheng
2022-06-29 10:17 ` Julien Grall
2022-07-13 2:42 ` Penny Zheng
2022-07-13 9:09 ` Julien Grall
2022-06-29 8:39 ` Penny Zheng
2022-07-15 18:10 ` Julien Grall
2022-07-18 2:35 ` Penny Zheng
2022-06-24 19:25 ` Julien Grall
2022-06-29 8:40 ` Penny Zheng
2022-06-20 5:11 ` [PATCH v5 2/8] xen/arm: allocate static shared memory to the default owner dom_io Penny Zheng
2022-06-24 18:22 ` Julien Grall
2022-06-29 7:13 ` Penny Zheng
2022-06-29 10:34 ` Julien Grall
2022-07-04 7:20 ` Penny Zheng
2022-07-15 18:43 ` Julien Grall
2022-06-20 5:11 ` [PATCH v5 3/8] xen/arm: allocate static shared memory to a specific owner domain Penny Zheng
2022-06-24 19:07 ` Julien Grall
2022-06-29 7:49 ` Penny Zheng
2022-06-20 5:11 ` [PATCH v5 4/8] xen/arm: introduce put_page_nr and get_page_nr Penny Zheng
2022-06-24 19:10 ` Julien Grall
2022-06-20 5:11 ` [PATCH v5 5/8] xen/arm: Add additional reference to owner domain when the owner is allocated Penny Zheng
2022-06-24 19:18 ` Julien Grall
2022-06-29 8:00 ` Penny Zheng
2022-06-20 5:11 ` [PATCH v5 6/8] xen/arm: set up shared memory foreign mapping for borrower domain Penny Zheng
2022-06-20 5:11 ` [PATCH v5 7/8] xen/arm: create shared memory nodes in guest device tree Penny Zheng
2022-06-24 19:30 ` Julien Grall
2022-06-24 21:56 ` Stefano Stabellini
2022-07-04 7:45 ` Penny Zheng
2022-07-05 8:09 ` Julien Grall
2022-07-05 23:21 ` Stefano Stabellini
2022-07-06 23:52 ` Stefano Stabellini
2022-07-07 4:01 ` Penny Zheng
2022-07-08 16:40 ` Stefano Stabellini
2022-07-11 7:59 ` Penny Zheng
2022-06-20 5:11 ` Penny Zheng [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220620051114.210118-9-Penny.Zheng@arm.com \
--to=penny.zheng@arm.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=bertrand.marquis@arm.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=wei.chen@arm.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.