xen/arm: enable statically shared memory on Dom0

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>
This commit is contained in:
Penny Zheng authored and Stefano Stabellini committed 2022-09-09 13:00:10 -07:00
1 parent c7fe72607a
commit 09c0a8976a
1 file changed
+14
+14
View File
@@ -2709,6 +2709,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);
@@ -3937,6 +3942,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);
@@ -3971,6 +3979,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 )
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.