[PASEMI NEMO] Boot issue with the PowerPC updates 6.4-1

Rob Herring robh at kernel.org
Thu May 4 04:15:03 AEST 2023


On Wed, May 3, 2023 at 12:40 PM Christian Zigotzky
<chzigotzky at xenosoft.de> wrote:
>
>
>
> > On 3. May 2023, at 18:51, Rob Herring <robh at kernel.org> wrote:
> >
> > On Wed, May 3, 2023 at 11:27 AM Christophe Leroy
> > <christophe.leroy at csgroup.eu> wrote:
> >>
> >> +Rob as he's the commit's Author.
> >>
> >>> Le 03/05/2023 à 17:46, Christian Zigotzky a écrit :
> >>> On 02 May 2023 at 11:28 am, Michael Ellerman wrote:
> >>>> Christian Zigotzky <chzigotzky at xenosoft.de> writes:
> >>>>> Hello,
> >>>>>
> >>>>> Our PASEMI Nemo board [1] doesn't boot with the PowerPC updates 6.4-1
> >>>>> [2].
> >>>>>
> >>>>> The kernel hangs right after the booting Linux via __start() @
> >>>>> 0x0000000000000000 ...
> >>>>>
> >>>>> I was able to revert the PowerPC updates 6.4-1 [2] with the following
> >>>>> command: git revert 70cc1b5307e8ee3076fdf2ecbeb89eb973aa0ff7 -m 1
> >>>>>
> >>>>> After a re-compiling, the kernel boots without any problems without the
> >>>>> PowerPC updates 6.4-1 [2].
> >>>>>
> >>>>> Could you please explain me, what you have done in the boot area?
> >>>> There's a few possibilities, but nothing obvious.
> >>>>
> >>>> To begin with can you please test the following commits?
> >>>>
> >>>> 77e69ee7ce07
> >>>> e4ab08be5b49
> >>>> eeac8ede1755
> >>>>
> >>>> cheers
> >>> git revert e4ab08be5b4902e5b350b0e1e1a3c25eb21d76d4
> >>>
> >>> [master 0086e2cbbec0] Revert "powerpc/isa-bridge: Remove open coded
> >>> "ranges" parsing"
> >>>  1 file changed, 129 insertions(+), 37 deletions(-)
> >>>
> >>> After a recompiling it boots without any problems.
> >>>
> >>> e4ab08be5b49 -- powerpc/isa-bridge: Remove open coded "ranges" parsing
> >>> is the bad commit.
> >
> > Could I get a DT file for this board?
> >
> > In the meantime, just revert this commit. I don't think I'll be able
> > to fix it before I'm out on sabbatical.
> >
> > Rob
>
> FYI:
>
> Darren Stevens wrote:
>
> The dtb passed by the CFE firmware has a number of issues, which up till
> now have been fixed by use of patches applied to the mainline kernel.
> This occasionally causes problems with changes made to mainline.

Changing the firmware is not the only way to modify the DT. Perhaps a
DT overlay would work better than carrying patches if the patches
aren't upstreamable. It kind of depends on how early you'd need to
apply the overlay and whether you'd need external phandles (aka
__symbols__ node, which the base DTB wouldn't support).

Looking at the DT, I think this change might fix it. Can you test this change:

diff --git a/drivers/of/address.c b/drivers/of/address.c
index e692809ff822..475b74413fdd 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -284,7 +284,7 @@ EXPORT_SYMBOL(of_range_to_resource);

 static int of_bus_isa_match(struct device_node *np)
 {
-       return of_node_name_eq(np, "isa");
+       return of_node_is_type(np, "isa") || of_node_name_eq(np, "isa");
 }

 static void of_bus_isa_count_cells(struct device_node *child,


More information about the Linuxppc-dev mailing list