Re: [PATCH v2] nios2: Only use built-in devicetree blob if configured to do so

From: Rob Herring
Date: Wed Apr 03 2024 - 15:36:44 EST



On Thu, 21 Mar 2024 23:54:19 -0700, Guenter Roeck wrote:
> Starting with commit 7b937cc243e5 ("of: Create of_root if no dtb provided
> by firmware"), attempts to boot nios2 images with an external devicetree
> blob result in a crash.
>
> Kernel panic - not syncing: early_init_dt_alloc_memory_arch:
> Failed to allocate 72 bytes align=0x40
>
> For nios2, a built-in devicetree blob always overrides devicetree blobs
> provided by ROMMON/BIOS. This includes the new dummy devicetree blob.
> Result is that the dummy devicetree blob is used even if an external
> devicetree blob is provided. Since the dummy devicetree blob does not
> include any memory information, memory allocations fail, resulting in
> the crash.
>
> To fix the problem, only use the built-in devicetree blob if
> CONFIG_NIOS2_DTB_SOURCE_BOOL is enabled.
>
> Fixes: 7b937cc243e5 ("of: Create of_root if no dtb provided by firmware")
> Cc: Frank Rowand <frowand.list@xxxxxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
> Cc: Rob Herring <robh@xxxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> v2: Mark 'dtb' as __maybe_unused
>
> arch/nios2/kernel/prom.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>

As Dinh has not yet picked this up, I applied it, thanks!