Re: [PATCH 11/15] powerpc: convert to setup_initial_init_mm()
From: Kefeng Wang <hidden>
Date: 2021-05-31 01:05:57
Also in:
linuxppc-dev
On 2021/5/30 0:16, Christophe Leroy wrote:
Kefeng Wang [off-list ref] a écrit :quoted
Use setup_initial_init_mm() helper to simplify code. Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Kefeng Wang <redacted> --- arch/powerpc/kernel/setup-common.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)diff --git a/arch/powerpc/kernel/setup-common.cb/arch/powerpc/kernel/setup-common.c index 046fe21b5c3b..c046d99efd18 100644--- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c@@ -928,10 +928,7 @@ void __init setup_arch(char **cmdline_p)klp_init_thread_info(&init_task); - init_mm.start_code = (unsigned long)_stext; - init_mm.end_code = (unsigned long) _etext; - init_mm.end_data = (unsigned long) _edata; - init_mm.brk = klimit; + setup_initial_init_mm(_stext, _etext, _edata, _end);This looks wrong, should be klimit instead of _end IIUC
see arch/powerpc/kernel/setup-common.c:
unsigned long klimit = (unsigned long) _end;
the setup_initial_init_mm helper [1] should use the original _end
+static inline void setup_initial_init_mm(char *start_code,
+ char *end_code,
+ char *end_data,
+ char *brk)
+{
+ init_mm.start_code = (unsigned long)start_code;
+ init_mm.end_code = (unsigned long)end_code;
+ init_mm.end_data = (unsigned long)end_data;
+ init_mm.brk = (unsigned long)brk;
+}
[1] https://lkml.org/lkml/2021/5/29/84
quoted
mm_iommu_init(&init_mm); irqstack_early_init(); -- 2.26.2.