Re: [PATCH v5 2/2] sh: Restructure setup code to reserve memory regions earlier

From: Oreoluwa Babatunde
Date: Thu Oct 10 2024 - 15:09:43 EST



On 9/29/2024 2:15 PM, Artur Rojek wrote:
> On 2024-07-18 04:18, Oreoluwa Babatunde wrote:
>> 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 regions are set aside in
>> paging_init().
>> As a result, there is a possibility for memblock to unknowingly allocate
>> from any of the memory regions that are meant to be reserved.
>>
>> Hence, restructure the setup code to reserve the memory regions before
>> any allocation is done by the unflatten_devicetree*() using memblock.
>>
>> Signed-off-by: Oreoluwa Babatunde <quic_obabatun@xxxxxxxxxxx>
>
> Hi Oreoluwa,
>
>> ---
>>  arch/sh/mm/init.c | 15 +++++++--------
>>  1 file changed, 7 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
>> index 643e3617c6a6..857ce8cc84bd 100644
>> --- a/arch/sh/mm/init.c
>> +++ b/arch/sh/mm/init.c
>> @@ -249,6 +249,7 @@ void __init early_reserve_mem(void)
>>      u32 zero_base = (u32)__MEMORY_START + (u32)PHYSICAL_OFFSET;
>>      u32 start = zero_base + (u32)CONFIG_ZERO_PAGE_OFFSET;
>>
>> +    sh_mv.mv_mem_init();
>
> One side effect of moving mv_mem_init here is that it makes cache
> operations available earlier. But I see no harm in doing that.
>
> Otherwise the patch is looking good. Verified on J2 Turtle Board.
>
> Reviewed-by: Artur Rojek <contact@xxxxxxxxxxxxxx>
>
ack.

Thank you for the review Artur!

Regards,
Oreoluwa