Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
 arch/powerpc/kernel/exceptions-64s.S | 51 +++++++++++++---------------
 1 file changed, 24 insertions(+), 27 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index 74bf6e0bf61f..90514766dc7d 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -591,8 +591,8 @@ END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,948)
  * If stack=0, then the stack is already set in r1, and r1 is saved in r10.
  * PPR save and CPU accounting is not done for the !stack case (XXX why not?)
  */
-.macro INT_COMMON vec, area, stack, kuap, reconcile, dar, dsisr
-       .if \stack
+.macro GEN_COMMON name
+       .if ISTACK
        andi.   r10,r12,MSR_PR          /* See if coming from user      */
        mr      r10,r1                  /* Save r1                      */
        subi    r1,r1,INT_FRAME_SIZE    /* alloc frame on kernel stack  */
@@ -609,54 +609,54 @@ 
END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,948)
        std     r0,GPR0(r1)             /* save r0 in stackframe        */
        std     r10,GPR1(r1)            /* save r1 in stackframe        */
 
-       .if \stack
-       .if \kuap
+       .if ISTACK
+       .if IKUAP
        kuap_save_amr_and_lock r9, r10, cr1, cr0
        .endif
        beq     101f                    /* if from kernel mode          */
        ACCOUNT_CPU_USER_ENTRY(r13, r9, r10)
-       SAVE_PPR(\area, r9)
+       SAVE_PPR(IAREA, r9)
 101:
        .else
-       .if \kuap
+       .if IKUAP
        kuap_save_amr_and_lock r9, r10, cr1
        .endif
        .endif
 
        /* Save original regs values from save area to stack frame. */
-       ld      r9,\area+EX_R9(r13)     /* move r9, r10 to stackframe   */
-       ld      r10,\area+EX_R10(r13)
+       ld      r9,IAREA+EX_R9(r13)     /* move r9, r10 to stackframe   */
+       ld      r10,IAREA+EX_R10(r13)
        std     r9,GPR9(r1)
        std     r10,GPR10(r1)
-       ld      r9,\area+EX_R11(r13)    /* move r11 - r13 to stackframe */
-       ld      r10,\area+EX_R12(r13)
-       ld      r11,\area+EX_R13(r13)
+       ld      r9,IAREA+EX_R11(r13)    /* move r11 - r13 to stackframe */
+       ld      r10,IAREA+EX_R12(r13)
+       ld      r11,IAREA+EX_R13(r13)
        std     r9,GPR11(r1)
        std     r10,GPR12(r1)
        std     r11,GPR13(r1)
-       .if \dar
-       .if \dar == 2
+       .if IDAR
+       .if IDAR == 2
        ld      r10,_NIP(r1)
        .else
-       ld      r10,\area+EX_DAR(r13)
+       ld      r10,IAREA+EX_DAR(r13)
        .endif
        std     r10,_DAR(r1)
        .endif
-       .if \dsisr
-       .if \dsisr == 2
+       .if IDSISR
+       .if IDSISR == 2
        ld      r10,_MSR(r1)
        lis     r11,DSISR_SRR1_MATCH_64S@h
        and     r10,r10,r11
        .else
-       lwz     r10,\area+EX_DSISR(r13)
+       lwz     r10,IAREA+EX_DSISR(r13)
        .endif
        std     r10,_DSISR(r1)
        .endif
 BEGIN_FTR_SECTION_NESTED(66)
-       ld      r10,\area+EX_CFAR(r13)
+       ld      r10,IAREA+EX_CFAR(r13)
        std     r10,ORIG_GPR3(r1)
 END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66)
-       GET_CTR(r10, \area)
+       GET_CTR(r10, IAREA)
        std     r10,_CTR(r1)
        std     r2,GPR2(r1)             /* save r2 in stackframe        */
        SAVE_4GPRS(3, r1)               /* save r3 - r6 in stackframe   */
@@ -668,26 +668,22 @@ END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66)
        mfspr   r11,SPRN_XER            /* save XER in stackframe       */
        std     r10,SOFTE(r1)
        std     r11,_XER(r1)
-       li      r9,(\vec)+1
+       li      r9,(IVEC)+1
        std     r9,_TRAP(r1)            /* set trap number              */
        li      r10,0
        ld      r11,exception_marker@toc(r2)
        std     r10,RESULT(r1)          /* clear regs->result           */
        std     r11,STACK_FRAME_OVERHEAD-16(r1) /* mark the frame       */
 
-       .if \stack
+       .if ISTACK
        ACCOUNT_STOLEN_TIME
        .endif
 
-       .if \reconcile
+       .if IRECONCILE
        RECONCILE_IRQ_STATE(r10, r11)
        .endif
 .endm
 
-.macro GEN_COMMON name
-       INT_COMMON IVEC, IAREA, ISTACK, IKUAP, IRECONCILE, IDAR, IDSISR
-.endm
-
 /*
  * Restore all registers including H/SRR0/1 saved in a stack frame of a
  * standard exception.
@@ -2387,7 +2383,8 @@ EXC_COMMON_BEGIN(soft_nmi_common)
        mr      r10,r1
        ld      r1,PACAEMERGSP(r13)
        subi    r1,r1,INT_FRAME_SIZE
-       INT_COMMON 0x900, PACA_EXGEN, 0, 1, 1, 0, 0
+       __ISTACK(decrementer)=0
+       GEN_COMMON decrementer
        bl      save_nvgprs
        addi    r3,r1,STACK_FRAME_OVERHEAD
        bl      soft_nmi_interrupt
-- 
2.23.0

Reply via email to