This series goes on top of the unmerged machine check handler changes https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=118814
This carries on with the goal of unwinding macros and consolidating code. This gets most of the way there, but we have traded that improvement for another problem, which is the argument list for code generation macros is unwieldy. INT_HANDLER system_reset, 0x100, 0, 0, 0, EXC_STD, PACA_EXNMI, 0, 0, 0, 0, 1 There are two possible ways I see to solve this. One is to come up with new sets of constants for each argument. INT_HANDLER system_reset, 0x100, INLINE, FULL, REAL, EXC_STD, PACA_EXNMI, CLEAR_RI, NO_DAR, NO_DSISR, NO_MASK, KVM I don't really like that, my preferred way is we can set symbols to configure the behaviour of the code generation macro. INT_DEFINE_BEGIN(system_reset) IVEC=0x100 IHSRR=0 IAREA=PACA_EXNMI ISET_RI=0 IKVM_REAL=1 INT_DEFINE_END(data_access) INT_HANDLER system_reset Any other suggestions? Thanks, Nick Nicholas Piggin (18): powerpc/64s/exception: Fix DAR load for handle_page_fault error case powerpc/64s/exception: move head-64.h exception code to exception-64s.S powerpc/64s/exception: Add EXC_HV_OR_STD, for HSRR if HV=1 else SRR powerpc/64s/exception: Fix performance monitor virt handler powerpc/64s/exception: remove 0xb00 handler powerpc/64s/exception: Replace PROLOG macros and EXC helpers with a gas macro powerpc/64s/exception: remove EXCEPTION_PROLOG_0/1, rename _2 powerpc/64s/exception: Add the virt variant of the denorm interrupt handler powerpc/64s/exception: INT_HANDLER support HDAR/HDSISR and use it in HDSI powerpc/64s/exception: Add INT_KVM_HANDLER gas macro powerpc/64s/exception: KVM_HANDLER reorder arguments to match other macros powerpc/64s/exception: Merge EXCEPTION_PROLOG_COMMON_2/3 powerpc/64s/exception: Add INT_COMMON gas macro to generate common exception code powerpc/64s/exception: Expand EXCEPTION_COMMON macro into caller powerpc/64s/exception: Expand EXCEPTION_PROLOG_COMMON_1 and 2 into caller powerpc/64s/exception: INT_COMMON add DIR, DSISR, reconcile options powerpc/64s/exception: move interrupt entry code above the common handler powerpc/64s/exception: program check handler do not branch into a macro arch/powerpc/include/asm/head-64.h | 41 - arch/powerpc/kernel/exceptions-64s.S | 1264 +++++++++++++------------- 2 files changed, 623 insertions(+), 682 deletions(-) -- 2.22.0