[PPC] [e5500] Boot issues after the PowerPC updates 6.19-1
Christian Zigotzky
chzigotzky at xenosoft.de
Tue Dec 9 20:02:54 AEDT 2025
I bisected today.
1. git clone https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git -b powerpc-6.19-1 a
2. cd a
3. git log
Output:
commit 9b36c7fc5aa5f2c6e6eeb9f312fdfe61b4291c9f (HEAD, tag: powerpc-6.19-1, origin/next-test, origin/next)
...
4. git bisect start
5. git bisect good f850568efe3a7a9ec4df357cfad1f997f0058924
Merge tag 'i2c-for-6.18-rc5'
6. git bisect bad 9b36c7fc5aa5f2c6e6eeb9f312fdfe61b4291c9f
macintosh/via-pmu-backlight: Include <linux/fb.h> and <linux/of.h>
7. git bisect bad
8. git bisect bad
9. git bisect good
10. git bisect bad
11. git bisect good
2997876c4a1a5864baa13d7393c2b68cf5b51183 is the first bad commit
commit 2997876c4a1a5864baa13d7393c2b68cf5b51183
Author: Christophe Leroy <christophe.leroy at csgroup.eu>
Date: Thu Sep 11 14:30:12 2025 +0200
powerpc/32: Restore clearing of MSR[RI] at interrupt/syscall exit
Commit 13799748b957 ("powerpc/64: use interrupt restart table to speed
up return from interrupt") removed the inconditional clearing of
MSR[RI] when returning from interrupt into kernel. But powerpc/32
doesn't implement interrupt restart table hence still need MSR[RI]
to be cleared.
It could be added back in interrupt_exit_kernel_prepare() but it is
easier and better to add it back in entry_32.S for following reasons:
- Writing to MSR must be followed by a synchronising instruction
- The smaller the non recoverable section is the better it is
So add a macro called clr_ri and use it in the three places that play
up with SRR0/SRR1. Use it just before another mtspr for synchronisation
to avoid having to add an isync.
Now that's done in entry_32.S, exit_must_hard_disable() can return
false for non book3s/64, taking into account that BOOKE doesn't have
MSR_RI.
Also add back blacklisting syscall_exit_finish for kprobe. This was
initially added by commit 7cdf44013885 ("powerpc/entry32: Blacklist
syscall exit points for kprobe.") then lost with
commit 6f76a01173cc ("powerpc/syscall: implement system call
entry/exit logic in C for PPC32").
Fixes: 6f76a01173cc ("powerpc/syscall: implement system call entry/exit logic in C for PPC32")
Fixes: 13799748b957 ("powerpc/64: use interrupt restart table to speed up return from interrupt")
Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
Link: https://patch.msgid.link/66d0ab070563ad460ed481328ab0887c27f21a2c.1757593807.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/entry_32.S | 18 +++++++++++++++++-
arch/powerpc/kernel/interrupt.c | 2 +-
2 files changed, 18 insertions(+), 2 deletions(-)
12. git revert 2997876c4a1a5864baa13d7393c2b68cf5b51183
After reverting the first bad commit, the kernel boots without any problems.
More information about the Linuxppc-dev
mailing list