|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/arm: Drop process_shm_chosen()
There's no benefit in having process_shm_chosen() next to process_shm().
The former is just a helper to pass "/chosen" node to the latter for
hwdom case. Drop process_shm_chosen() and instead use process_shm()
passing NULL as node parameter, which will result in searching for and
using /chosen to find shm node (the DT full path search is done in
process_shm() to avoid expensive lookup if !CONFIG_STATIC_SHM). This
will simplify future handling of hw/control domain separation.
Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
---
xen/arch/arm/domain_build.c | 2 +-
xen/arch/arm/include/asm/static-shmem.h | 14 --------------
xen/arch/arm/static-shmem.c | 4 ++++
3 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2b5b4331834f..7f9e17e1de4d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2325,7 +2325,7 @@ int __init construct_hwdom(struct kernel_info *kinfo)
else
allocate_memory(d, kinfo);
- rc = process_shm_chosen(d, kinfo);
+ rc = process_shm(d, kinfo, NULL);
if ( rc < 0 )
return rc;
diff --git a/xen/arch/arm/include/asm/static-shmem.h
b/xen/arch/arm/include/asm/static-shmem.h
index fd0867c4f26b..94eaa9d500f9 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -18,14 +18,6 @@ int make_resv_memory_node(const struct kernel_info *kinfo,
int addrcells,
int process_shm(struct domain *d, struct kernel_info *kinfo,
const struct dt_device_node *node);
-static inline int process_shm_chosen(struct domain *d,
- struct kernel_info *kinfo)
-{
- const struct dt_device_node *node = dt_find_node_by_path("/chosen");
-
- return process_shm(d, kinfo, node);
-}
-
int process_shm_node(const void *fdt, int node, uint32_t address_cells,
uint32_t size_cells);
@@ -74,12 +66,6 @@ static inline int process_shm(struct domain *d, struct
kernel_info *kinfo,
return 0;
}
-static inline int process_shm_chosen(struct domain *d,
- struct kernel_info *kinfo)
-{
- return 0;
-}
-
static inline void init_sharedmem_pages(void) {};
static inline int remove_shm_from_rangeset(const struct kernel_info *kinfo,
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index c74fa13d4847..cda90105923d 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -297,6 +297,10 @@ int __init process_shm(struct domain *d, struct
kernel_info *kinfo,
{
struct dt_device_node *shm_node;
+ /* Hwdom case - shm node under /chosen */
+ if ( !node )
+ node = dt_find_node_by_path("/chosen");
+
dt_for_each_child_node(node, shm_node)
{
const struct membank *boot_shm_bank;
--
2.25.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |