Regression: Linux v5.15+ does not boot on Freescale P2020

Christophe Leroy christophe.leroy at csgroup.eu
Sun Jul 24 00:42:22 AEST 2022


Hello,

Le 22/07/2022 à 11:09, Pali Rohár a écrit :
> Hello!
> 
> Trying to boot mainline Linux kernel v5.15+, including current version
> from master branch, on Freescale P2020 does not work. Kernel does not
> print anything to serial console, seems that it does not work and after
> timeout watchdog reset the board.

Can you provide more information ? Which defconfig or .config, which 
version of gcc, etc ... ?

> 
> I run git bisect and it found following commit:
> 
> 9401f4e46cf6965e23738f70e149172344a01eef is the first bad commit
> commit 9401f4e46cf6965e23738f70e149172344a01eef
> Author: Christophe Leroy <christophe.leroy at csgroup.eu>
> Date:   Tue Mar 2 08:48:11 2021 +0000
> 
>      powerpc: Use lwarx/ldarx directly instead of PPC_LWARX/LDARX macros
> 
>      Force the eh flag at 0 on PPC32.
> 
>      Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
>      Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
>      Link: https://lore.kernel.org/r/1fc81f07cabebb875b963e295408cc3dd38c8d85.1614674882.git.christophe.leroy@csgroup.eu
> 
> :040000 040000 fe6747e45736dfcba74914a9445e5f70f5120600 96358d08b65d3200928a973efb5b969b3d45f2b0 M      arch
> 
> 
> If I revert this commit then kernel boots correctly. It also boots fine
> if I revert this commit on top of master branch.
> 
> Freescale P2020 has two 32-bit e500 powerpc cores.
> 
> Any idea why above commit is causing crash of the kernel? And why it is
> needed? Could eh flag set to 0 cause deadlock?

Setting the eh flag to 0 is not supposed to be a change introduced by 
that commit. Indeed that commit is not supposed to change anything at 
all in the generated code.

Christophe

> 
> I have looked into e500 Reference Manual for lwarx instruction (page 562)
> https://www.nxp.com/files-static/32bit/doc/ref_manual/EREF_RM.pdf and
> both 0 and 1 values for EH flag should be supported.


More information about the Linuxppc-dev mailing list