[PATCH v2 00/52] powerpc/64s interrupt handler cleanups, gasification
Nicholas Piggin
npiggin at gmail.com
Thu Jun 20 15:14:07 AEST 2019
This contains the previous 28 series in front, with one small fix
mentioned in the last thread, plus one extra patch to remove
unused BRANCH_TO_COMMON macro, so first 29 up to SPR RAW scoreboard
are all quite minimal generated code change.
The next patches start to get a bit more into code change, starting
to mainly attack the "odd" handlers which deviate significantly
from the norm (sreset, machine check, still have pending work to
do on hmi). The aim is to simplify them and make them more regular.
That makes maintaining easier, and also reduces the need to have
a lot of special cases and splits in macros, which helps further
cleanup in future.
After patch 19 I should add it's so much more pleasant to hack on
this code, you don't have to rebuild practically the whole kernel
whenever you change anything.
Oh I also got a KUAP fix in there we should backport.
Thanks,
Nick
Nicholas Piggin (52):
powerpc/64s/exception: fix line wrap and semicolon inconsistencies in
macros
powerpc/64s/exception: remove H concatenation for EXC_HV variants
powerpc/64s/exception: consolidate EXCEPTION_PROLOG_2 with _NORI
variant
powerpc/64s/exception: move and tidy EXCEPTION_PROLOG_2 variants
powerpc/64s/exception: fix sreset KVM test code
powerpc/64s/exception: remove the "extra" macro parameter
powerpc/64s/exception: consolidate maskable and non-maskable prologs
powerpc/64s/exception: merge KVM handler and skip variants
powerpc/64s/exception: KVM handler can set the HSRR trap bit
powerpc/64s/exception: Make EXCEPTION_PROLOG_0 a gas macro for
consistency with others
powerpc/64s/exception: Move EXCEPTION_COMMON handler and return
branches into callers
powerpc/64s/exception: Move EXCEPTION_COMMON additions into callers
powerpc/64s/exception: unwind exception-64s.h macros
powerpc/64s/exception: improve 0x500 handler code
powerpc/64s/exception: move EXCEPTION_PROLOG_2* to a more logical
place
powerpc/64s/exception: remove STD_EXCEPTION_COMMON variants
powerpc/64s/exception: move KVM related code together
powerpc/64s/exception: move exception-64s.h code to exception-64s.S
where it is used
powerpc/64s/exception: move head-64.h code to exception-64s.S where it
is used
powerpc/64s/exception: remove __BRANCH_TO_KVM
powerpc/64s/exception: remove unused BRANCH_TO_COMMON
powerpc/64s/exception: use a gas macro for system call handler code
powerpc/64s/exception: fix indenting irregularities
powerpc/64s/exception: generate regs clear instructions using .rept
powerpc/64s/exception: remove bad stack branch
powerpc/64s/exception: remove pointless EXCEPTION_PROLOG macro
indirection
powerpc/64s/exception: move paca save area offsets into
exception-64s.S
powerpc/64s/exception: clean up system call entry
powerpc/64s/exception: avoid SPR RAW scoreboard stall in real mode
entry
powerpc/64s/exception: optimise system_reset for idle, clean up
non-idle case
powerpc/64s/exception: mtmsrd L=1 cleanup
powerpc/64s/exception: windup use r9 consistently to restore SPRs
powerpc/64s/exception: move machine check windup in_mce handling
powerpc/64s/exception: simplify hmi windup code
powerpc/64s/exception: shuffle windup code around
powerpc/64s/exception: use common macro for windup
powerpc/64s/exception: add dar and dsisr options to exception macro
powerpc/64s/exception: machine check use standard macros to save
dar/dsisr
powerpc/64s/exception: denorm handler use standard scratch save macro
powerpc/64s/exception: move SET_SCRATCH0 into EXCEPTION_PROLOG_0
powerpc/tm: update comment about interrupt re-entrancy
powerpc/64s/exception: machine check fwnmi does not trigger when in HV
mode
powerpc/64s/exception: machine check early only runs in HV mode
powerpc/64s/exception: separate pseries and powernv mce delivery paths
powerpc/64s/exception: machine check windup restore cfar for host
delivery
powerpc/64s/exception: fix machine check early should not set AMR
powerpc/64s/exception: machine check restructure handler to be more
regular
powerpc/64s/exception: simplify machine check early path
powerpc/64s/exceptions: machine check move unrecoverable handling out
of line
powerpc/64s/exception: untangle early machine check handler
powerpc/64s/exception: machine check improve branch labels
powerpc/64s/exception: add missing branch to self after RFI
arch/powerpc/include/asm/exception-64s.h | 609 +-------
arch/powerpc/include/asm/head-64.h | 204 +--
arch/powerpc/include/asm/paca.h | 2 +
arch/powerpc/kernel/asm-offsets.c | 2 +
arch/powerpc/kernel/exceptions-64s.S | 1764 ++++++++++++++--------
arch/powerpc/kernel/tm.S | 4 +-
arch/powerpc/xmon/xmon.c | 2 +
7 files changed, 1161 insertions(+), 1426 deletions(-)
--
2.20.1
More information about the Linuxppc-dev
mailing list