lkml.org 
[lkml]   [2024]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] nios2: Only use built-in devicetree blob if configured to do so
On Fri, Mar 22, 2024 at 1:54 AM Guenter Roeck <linux@roeck-us.net> 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@gmail.com>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> v2: Mark 'dtb' as __maybe_unused
>
> arch/nios2/kernel/prom.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)

I don't love the ifdef, but seems to be the least invasive for 6.9.

Reviewed-by: Rob Herring <robh@kernel.org>

I have a somewhat more invasive change which checks for top-level
compatible existing to decide whether to use the built-in. That's more
risky as it would affect everyone. We're already doing that elsewhere
and found 1 board that didn't have one.

Rob

\
 
 \ /
  Last update: 2024-05-27 16:12    [W:0.041 / U:1.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site