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

Oreoluwa Babatunde posted 2 patches 1 year, 5 months ago
arch/sh/include/asm/mmu.h |  1 +
arch/sh/kernel/setup.c    |  3 +++
arch/sh/mm/init.c         | 20 +++++++++-----------
3 files changed, 13 insertions(+), 11 deletions(-)
[PATCH v5 0/2] sh: Restructure setup code to reserve memory regions earlier
Posted by Oreoluwa Babatunde 1 year, 5 months ago
The unflatten_devicetree() function allocates memory from memblock
before the system gets a chance to set aside the regions of memory that
are meant to be reserved.
This means that there is a possibility for memblock to allocate from
these regions, thereby preventing them from being reserved.

This series makes changes to the arch specific setup code to call the
functions responsible for setting aside the reserved memory regions
earlier in the init sequence.

Hence, by the time memblock starts being used to allocate memory, the
memory regions that are meant to be carved out would already be set aside.

Oreoluwa Babatunde (2):
  sh: Restructure call site for early_reserve_mem()
  sh: Restructure setup code to reserve memory regions earlier

 arch/sh/include/asm/mmu.h |  1 +
 arch/sh/kernel/setup.c    |  3 +++
 arch/sh/mm/init.c         | 20 +++++++++-----------
 3 files changed, 13 insertions(+), 11 deletions(-)

-- 
2.34.1

v5:
- Keep the definition of early_reserve_mem() inside "arch/sh/mm/init.c"
  and make it available to be called from the setup code.
- Move the sh_mv reserved memory functions into early_reserve_mem().

v4:
- Rebase patch on top of v6.10-rc1 as requested by Maintainer.
- Add missing include in arch/sh/kernel/setup.c

v3:
https://lore.kernel.org/all/20240520175802.2002183-1-quic_obabatun@quicinc.com/
- Instead of moving all of paging_init(), move only the parts
  that are responsible for setting aside the reserved memory
  regions.

v2:
https://lore.kernel.org/all/20240423233150.74302-1-quic_obabatun@quicinc.com/
- Add 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/
Re: [PATCH v5 0/2] sh: Restructure setup code to reserve memory regions earlier
Posted by John Paul Adrian Glaubitz 1 year, 2 months ago
Hi Oreoluwa,

On Wed, 2024-07-17 at 19:18 -0700, Oreoluwa Babatunde wrote:
> The unflatten_devicetree() function allocates memory from memblock
> before the system gets a chance to set aside the regions of memory that
> are meant to be reserved.
> This means that there is a possibility for memblock to allocate from
> these regions, thereby preventing them from being reserved.
> 
> This series makes changes to the arch specific setup code to call the
> functions responsible for setting aside the reserved memory regions
> earlier in the init sequence.
> 
> Hence, by the time memblock starts being used to allocate memory, the
> memory regions that are meant to be carved out would already be set aside.
> 
> Oreoluwa Babatunde (2):
>   sh: Restructure call site for early_reserve_mem()
>   sh: Restructure setup code to reserve memory regions earlier
> 
>  arch/sh/include/asm/mmu.h |  1 +
>  arch/sh/kernel/setup.c    |  3 +++
>  arch/sh/mm/init.c         | 20 +++++++++-----------
>  3 files changed, 13 insertions(+), 11 deletions(-)

Apologies for the long silence. Both Artur and Geert (CC'ed) now also own a
J2 Turtleboard and I would like to have at least either of them test and
review your changes to make sure nothing breaks.

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913