[PATCH 11/15] powerpc: convert to setup_initial_init_mm()

Kefeng Wang wangkefeng.wang at huawei.com
Mon May 31 11:05:49 AEST 2021


On 2021/5/30 0:16, Christophe Leroy wrote:
> Kefeng Wang <wangkefeng.wang at huawei.com> a écrit :
>
>> Use setup_initial_init_mm() helper to simplify code.
>>
>> Cc: Michael Ellerman <mpe at ellerman.id.au>
>> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>> Cc: linuxppc-dev at lists.ozlabs.org
>> Signed-off-by: Kefeng Wang <wangkefeng.wang at huawei.com>
>> ---
>>  arch/powerpc/kernel/setup-common.c | 5 +----
>>  1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/arch/powerpc/kernel/setup-common.c 
>> b/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

>
>>
>>      mm_iommu_init(&init_mm);
>>      irqstack_early_init();
>> -- 
>> 2.26.2
>
>
> .
>


More information about the Linuxppc-dev mailing list