[PATCH 00/18] powerpc/64s/exception: cleanup and gas macroify, round 2
Nicholas Piggin
npiggin at gmail.com
Tue Jul 30 00:12:29 AEST 2019
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
More information about the Linuxppc-dev
mailing list