Nicholas Piggin 6eaaf9de35 powerpc/64s/interrupt: Check and fix srr_valid without crashing
The PPC_RFI_SRR_DEBUG check added by patch "powerpc/64s: avoid reloading
(H)SRR registers if they are still valid" has a few deficiencies. It
does not fix the actual problem, it's not enabled by default, and it
causes a program check interrupt which can cause more difficulties.

However there are a lot of paths which may clobber SRRs or change return
regs, and difficult to have a high confidence that all paths are covered
without wider testing.

Add a relatively low overhead always-enabled check that catches most
such cases, reports once, and fixes it so the kernel can continue.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Rebase, use switch & INT names, squash in race fix from Nick]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2021-06-25 00:06:57 +10:00
..
2021-05-16 09:39:04 -07:00
2021-05-03 12:58:31 -07:00
2021-05-08 10:00:11 -07:00
2021-05-03 11:19:54 -07:00
2021-05-08 10:00:11 -07:00
2021-05-03 11:19:54 -07:00
2021-05-08 10:00:11 -07:00
2021-05-10 23:23:04 +02:00
2021-05-08 10:00:11 -07:00
2021-05-16 09:42:13 -07:00
2021-05-08 10:00:11 -07:00