[PATCH] powerpc/prom: move the device tree to the right space

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1457d

2 messages, 2 authors, 2022-09-07 · open the first message on its own page

[PATCH] powerpc/prom: move the device tree to the right space

From: Youlin Song <hidden>
Date: 2021-03-03 12:54:54

If the device tree has been allocated memory and it will
be in the memblock reserved space.Obviously it is in a
valid memory declaration and will be mapped by the kernel.

Signed-off-by: Youlin Song <redacted>
---
 arch/powerpc/kernel/prom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 9a4797d1d40d..ef5f93e7d7f2 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -121,7 +121,7 @@ static void __init move_device_tree(void)
 	size = fdt_totalsize(initial_boot_params);
 
 	if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
-	    !memblock_is_memory(start + size - 1) ||
+	    (!memblock_is_memory(start + size - 1) && !memblock_is_reserved(start + size - 1)) ||
 	    overlaps_crashkernel(start, size) || overlaps_initrd(start, size)) {
 		p = memblock_alloc_raw(size, PAGE_SIZE);
 		if (!p)
-- 
2.25.1

Re: [PATCH] powerpc/prom: move the device tree to the right space

From: Christophe Leroy <hidden>
Date: 2022-09-07 17:12:09


Le 03/03/2021 à 06:00, Youlin Song a écrit :
If the device tree has been allocated memory and it will
be in the memblock reserved space.Obviously it is in a
valid memory declaration and will be mapped by the kernel.
Could you please provide clearer explanation ? I don't understand what 
you are doing and why.

Especially, the Subject says you move the device tree, but I can't see 
any move in your patch, only some change in the 'if'.

Thanks
Christophe
quoted hunk
Signed-off-by: Youlin Song <redacted>
---
  arch/powerpc/kernel/prom.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 9a4797d1d40d..ef5f93e7d7f2 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -121,7 +121,7 @@ static void __init move_device_tree(void)
  	size = fdt_totalsize(initial_boot_params);
  
  	if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
-	    !memblock_is_memory(start + size - 1) ||
+	    (!memblock_is_memory(start + size - 1) && !memblock_is_reserved(start + size - 1)) ||
  	    overlaps_crashkernel(start, size) || overlaps_initrd(start, size)) {
  		p = memblock_alloc_raw(size, PAGE_SIZE);
  		if (!p)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help