powerpc/64s/exception: Move EXCEPTION_COMMON handler and return branches into callers
The aim is to reduce the amount of indirection it takes to get through the exception handler macros, particularly where it provides little code sharing. No generated code change. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
5dba1d50ba
commit
c06075f3d3
@@ -195,9 +195,10 @@ EXC_COMMON_BEGIN(system_reset_common)
|
||||
mr r10,r1
|
||||
ld r1,PACA_NMI_EMERG_SP(r13)
|
||||
subi r1,r1,INT_FRAME_SIZE
|
||||
EXCEPTION_COMMON_NORET_STACK(PACA_EXNMI, 0x100,
|
||||
system_reset, system_reset_exception,
|
||||
ADD_NVGPRS;ADD_RECONCILE_NMI)
|
||||
EXCEPTION_COMMON_NORET_STACK(PACA_EXNMI, 0x100, system_reset,
|
||||
ADD_NVGPRS;ADD_RECONCILE_NMI)
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
bl system_reset_exception
|
||||
|
||||
/* This (and MCE) can be simplified with mtmsrd L=1 */
|
||||
/* Clear MSR_RI before setting SRR0 and SRR1. */
|
||||
@@ -1171,8 +1172,11 @@ hmi_exception_after_realmode:
|
||||
b tramp_real_hmi_exception
|
||||
|
||||
EXC_COMMON_BEGIN(hmi_exception_common)
|
||||
EXCEPTION_COMMON(PACA_EXGEN, 0xe60, hmi_exception_common, handle_hmi_exception,
|
||||
ret_from_except, FINISH_NAP;ADD_NVGPRS;ADD_RECONCILE;RUNLATCH_ON)
|
||||
EXCEPTION_COMMON(PACA_EXGEN, 0xe60, hmi_exception_common,
|
||||
FINISH_NAP;ADD_NVGPRS;ADD_RECONCILE;RUNLATCH_ON)
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
bl handle_hmi_exception
|
||||
b ret_from_except
|
||||
|
||||
EXC_REAL_OOL_MASKABLE_HV(h_doorbell, 0xe80, 0x20, IRQS_DISABLED)
|
||||
EXC_VIRT_OOL_MASKABLE_HV(h_doorbell, 0x4e80, 0x20, 0xe80, IRQS_DISABLED)
|
||||
@@ -1467,9 +1471,10 @@ EXC_COMMON_BEGIN(soft_nmi_common)
|
||||
mr r10,r1
|
||||
ld r1,PACAEMERGSP(r13)
|
||||
subi r1,r1,INT_FRAME_SIZE
|
||||
EXCEPTION_COMMON_NORET_STACK(PACA_EXGEN, 0x900,
|
||||
system_reset, soft_nmi_interrupt,
|
||||
ADD_NVGPRS;ADD_RECONCILE)
|
||||
EXCEPTION_COMMON_NORET_STACK(PACA_EXGEN, 0x900, system_reset,
|
||||
ADD_NVGPRS;ADD_RECONCILE)
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
bl soft_nmi_interrupt
|
||||
b ret_from_except
|
||||
|
||||
#else /* CONFIG_PPC_WATCHDOG */
|
||||
|
Reference in New Issue
Block a user