devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Oreoluwa Babatunde <quic_obabatun@quicinc.com>
Cc: catalin.marinas@arm.com, will@kernel.org, frowand.list@gmail.com,
	vgupta@kernel.org, arnd@arndb.de, olof@lixom.net, soc@kernel.org,
	guoren@kernel.org, monstr@monstr.eu, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, dinguyen@kernel.org,
	chenhuacai@kernel.org, tsbogend@alpha.franken.de,
	jonas@southpole.se, stefan.kristiansson@saunalahti.fi,
	shorne@gmail.com, mpe@ellerman.id.au, ysato@users.sourceforge.jp,
	dalias@libc.org, glaubitz@physik.fu-berlin.de, richard@nod.at,
	anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
	chris@zankel.net, jcmvbkbc@gmail.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, kernel@quicinc.com
Subject: Re: [PATCH 14/46] sh: reserved_mem: Implement the new processing order for reserved memory
Date: Wed, 31 Jan 2024 09:41:30 -0600	[thread overview]
Message-ID: <20240131154130.GA1336725-robh@kernel.org> (raw)
In-Reply-To: <20240126235425.12233-15-quic_obabatun@quicinc.com>

On Fri, Jan 26, 2024 at 03:53:53PM -0800, Oreoluwa Babatunde wrote:
> Call early_fdt_scan_reserved_mem() in place of
> early_init_fdt_scan_reserved_mem() to carry out the first stage of the
> reserved memory processing only.
> 
> The early_fdt_scan_reserved_mem() function is used to scan through the
> DT and mark all the reserved memory regions as reserved or nomap as
> needed, as well as allocate the memory required by the
> dynamically-placed
> reserved memory regions.
> 
> The second stage of the reserved memory processing is done by
> fdt_init_reserved_mem(). This function is used to store the information
> of the statically-placed reserved memory nodes in the reserved_mem
> array as well as call the region specific initialization function on all
> the stored reserved memory regions.
> 
> The call to fdt_init_reserved_mem() is placed right after
> early_fdt_scan_reserved_mem() because memblock allocated memory should
> already be writable at this point.
> 
> Signed-off-by: Oreoluwa Babatunde <quic_obabatun@quicinc.com>
> ---
>  arch/sh/boards/of-generic.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/sh/boards/of-generic.c b/arch/sh/boards/of-generic.c
> index f7f3e618e85b..7bec409f077c 100644
> --- a/arch/sh/boards/of-generic.c
> +++ b/arch/sh/boards/of-generic.c
> @@ -8,6 +8,7 @@
>  #include <linux/of.h>
>  #include <linux/of_clk.h>
>  #include <linux/of_fdt.h>
> +#include <linux/of_reserved_mem.h>
>  #include <linux/clocksource.h>
>  #include <linux/irqchip.h>
>  #include <asm/machvec.h>
> @@ -110,7 +111,8 @@ static int noopi(void)
>  static void __init sh_of_mem_reserve(void)
>  {
>  	early_init_fdt_reserve_self();
> -	early_init_fdt_scan_reserved_mem();
> +	early_fdt_scan_reserved_mem();
> +	fdt_init_reserved_mem();

Looking at the sh code, there's an existing problem with the order of
init. This is called from paging_init() and is done after unflattening
and copying the DT. That means the kernel could freely allocate memory
for the DT in a reserved region.

Rob

  reply	other threads:[~2024-01-31 15:41 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-26 23:53 [PATCH 00/46] Dynamic allocation of reserved_mem array Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 01/46] of: reserved_mem: Change the order that reserved_mem regions are stored Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 02/46] of: reserved_mem: Introduce new early reserved memory scan function Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 03/46] ARC: reserved_mem: Implement the new processing order for reserved memory Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 04/46] ARM: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 05/46] arm64: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 06/46] csky: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 07/46] Loongarch: " Oreoluwa Babatunde
2024-01-31 15:27   ` Rob Herring
2024-02-01 17:17     ` Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 08/46] microblaze: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 09/46] mips: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 10/46] nios2: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 11/46] openrisc: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 12/46] powerpc: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 13/46] riscv: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 14/46] sh: " Oreoluwa Babatunde
2024-01-31 15:41   ` Rob Herring [this message]
2024-02-01 17:15     ` Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 15/46] um: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 16/46] xtensa: " Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 17/46] of: reserved_mem: Delete the early_init_fdt_scan_reserved_mem() function Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 18/46] of: reserved_mem: Add code to dynamically allocate reserved_mem array Oreoluwa Babatunde
2024-01-29  3:39   ` kernel test robot
2024-01-29 13:57   ` kernel test robot
2024-01-26 23:53 ` [PATCH 19/46] ARC: resrved_mem: Move fdt_init_reserved_mem() below unflatten_device_tree() Oreoluwa Babatunde
2024-01-26 23:53 ` [PATCH 20/46] ARM: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 21/46] arm64: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 22/46] csky: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 23/46] microblaze: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 24/46] mips: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 25/46] nios2: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 26/46] powerpc: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 27/46] riscv: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 28/46] um: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 29/46] xtensa: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 30/46] of: reserved_mem: Add code to use unflattened DT for reserved_mem nodes Oreoluwa Babatunde
2024-01-28  4:29   ` kernel test robot
2024-01-28  6:06   ` kernel test robot
2024-01-29 18:58   ` kernel test robot
2024-01-31 17:53   ` kernel test robot
2024-01-26 23:54 ` [PATCH 31/46] of: reserved_mem: Rename fdt_* functions to refelct use of unflattened devicetree APIs Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 32/46] ARC: reserved_mem: Switch fdt_init_reserved_mem() to dt_init_reserved_mem() Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 33/46] ARM: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 34/46] arm64: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 35/46] csky: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 36/46] loongarch: reserved_mem: Switch fdt_init_reserved_mem to dt_init_reserved_mem Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 37/46] microblaze: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 38/46] mips: reserved_mem: Switch fdt_init_reserved_mem() to dt_init_reserved_mem() Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 39/46] nios2: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 40/46] openrisc: reserved_mem: Switch fdt_init_reserved_mem to dt_init_reserved_mem Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 41/46] powerpc: reserved_mem: Switch fdt_init_reserved_mem() to dt_init_reserved_mem() Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 42/46] riscv: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 43/46] sh: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 44/46] um: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 45/46] xtensa: " Oreoluwa Babatunde
2024-01-26 23:54 ` [PATCH 46/46] of: reserved_mem: Delete the fdt_init_reserved_mem() function Oreoluwa Babatunde
2024-01-31  0:07 ` [PATCH 00/46] Dynamic allocation of reserved_mem array Rob Herring
2024-02-01 17:08   ` Oreoluwa Babatunde
2024-02-01 19:46     ` Rob Herring
2024-02-01 21:10       ` Oreoluwa Babatunde
2024-02-02 15:29         ` Rob Herring
2024-02-07 21:13           ` Oreoluwa Babatunde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240131154130.GA1336725-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=chris@zankel.net \
    --cc=dalias@libc.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=guoren@kernel.org \
    --cc=jcmvbkbc@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=jonas@southpole.se \
    --cc=kernel@quicinc.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=olof@lixom.net \
    --cc=palmer@dabbelt.com \
    --cc=quic_obabatun@quicinc.com \
    --cc=richard@nod.at \
    --cc=shorne@gmail.com \
    --cc=soc@kernel.org \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=tsbogend@alpha.franken.de \
    --cc=vgupta@kernel.org \
    --cc=will@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).