mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
c7fe72607a
commit
09c0a8976a
1 file changed
+14
@@ -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 )
|
||||
|
||||