linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] sh: Call paging_init() earlier in the init sequence
@ 2024-04-23 23:31 Oreoluwa Babatunde
  2024-04-24  4:47 ` John Paul Adrian Glaubitz
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Oreoluwa Babatunde @ 2024-04-23 23:31 UTC (permalink / raw)
  To: ysato, dalias, glaubitz
  Cc: akpm, linux-sh, linux-kernel, robh+dt, kernel,
	Oreoluwa Babatunde, Rob Herring

The unflatten_device_tree() function contains a call to
memblock_alloc(). This is a problem because this allocation is done
before any of the reserved memory is set aside in paging_init().
This means that there is a possibility for memblock to allocate from
any of the memory regions that are supposed to be set aside as reserved.

Hence, move the call to paging_init() to be earlier in the init
sequence so that the reserved memory regions are set aside before any
allocations are done using memblock.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Oreoluwa Babatunde <quic_obabatun@quicinc.com>
---
v2:
- Added Rob Herrings Reviewed-by.
- cc Andrew Morton to assist with merging this for sh architecture.
  Similar change made for loongarch and openrisc in v1 have already
  been merged.

v1:
https://lore.kernel.org/all/1707524971-146908-4-git-send-email-quic_obabatun@quicinc.com/

 arch/sh/kernel/setup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index 620e5cf8ae1e..98c8473e130d 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -322,6 +322,8 @@ void __init setup_arch(char **cmdline_p)
 	/* Let earlyprintk output early console messages */
 	sh_early_platform_driver_probe("earlyprintk", 1, 1);
 
+	paging_init();
+
 #ifdef CONFIG_OF_EARLY_FLATTREE
 #ifdef CONFIG_USE_BUILTIN_DTB
 	unflatten_and_copy_device_tree();
@@ -330,8 +332,6 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
 
-	paging_init();
-
 	/* Perform the machine specific initialisation */
 	if (likely(sh_mv.mv_setup))
 		sh_mv.mv_setup(cmdline_p);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-05-20 18:49 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 23:31 [PATCH v2] sh: Call paging_init() earlier in the init sequence Oreoluwa Babatunde
2024-04-24  4:47 ` John Paul Adrian Glaubitz
2024-04-24  8:45 ` Markus Elfring
2024-04-24 10:24   ` John Paul Adrian Glaubitz
2024-04-24 11:06     ` [v2] " Markus Elfring
2024-04-29  9:03 ` [PATCH v2] " John Paul Adrian Glaubitz
2024-04-29 16:28   ` Oreoluwa Babatunde
2024-04-29 17:26     ` John Paul Adrian Glaubitz
2024-04-29 17:54       ` Oreoluwa Babatunde
2024-05-01 17:18 ` John Paul Adrian Glaubitz
2024-05-02 10:29   ` John Paul Adrian Glaubitz
2024-05-07 21:42     ` Oreoluwa Babatunde
2024-05-07 22:41       ` John Paul Adrian Glaubitz
2024-05-20 18:03         ` Oreoluwa Babatunde
2024-05-20 18:24           ` John Paul Adrian Glaubitz
2024-05-20 18:49             ` Oreoluwa Babatunde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).