diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-06-22 22:16:28 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-06-25 00:06:57 +1000 |
commit | 6eaaf9de3599865ee3b339d90cb24f2153f40bf4 (patch) | |
tree | 85aaa6964cdec3b750f442d2ebe22b9bd013f4f8 /arch/powerpc/kernel/setup_64.c | |
parent | ae58b1c645895c28ca155843db6788d57ea99e11 (diff) |
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>
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
0 files changed, 0 insertions, 0 deletions