powerpc/64s/exception: Merge EXCEPTION_PROLOG_COMMON_2/3
Merge EXCEPTION_PROLOG_COMMON_3 into EXCEPTION_PROLOG_COMMON_2. No generated code change except BUG line number constants. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190802105709.27696-29-npiggin@gmail.com
This commit is contained in:
parent
7027d53d1a
commit
9a9c739aa8
|
@ -399,7 +399,7 @@ END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,948)
|
||||||
std r10,GPR1(r1); /* save r1 in stackframe */ \
|
std r10,GPR1(r1); /* save r1 in stackframe */ \
|
||||||
|
|
||||||
/* Save original regs values from save area to stack frame. */
|
/* Save original regs values from save area to stack frame. */
|
||||||
#define EXCEPTION_PROLOG_COMMON_2(area) \
|
#define EXCEPTION_PROLOG_COMMON_2(area, trap) \
|
||||||
ld r9,area+EX_R9(r13); /* move r9, r10 to stackframe */ \
|
ld r9,area+EX_R9(r13); /* move r9, r10 to stackframe */ \
|
||||||
ld r10,area+EX_R10(r13); \
|
ld r10,area+EX_R10(r13); \
|
||||||
std r9,GPR9(r1); \
|
std r9,GPR9(r1); \
|
||||||
|
@ -415,9 +415,7 @@ BEGIN_FTR_SECTION_NESTED(66); \
|
||||||
std r10,ORIG_GPR3(r1); \
|
std r10,ORIG_GPR3(r1); \
|
||||||
END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66); \
|
END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66); \
|
||||||
GET_CTR(r10, area); \
|
GET_CTR(r10, area); \
|
||||||
std r10,_CTR(r1);
|
std r10,_CTR(r1); \
|
||||||
|
|
||||||
#define EXCEPTION_PROLOG_COMMON_3(trap) \
|
|
||||||
std r2,GPR2(r1); /* save r2 in stackframe */ \
|
std r2,GPR2(r1); /* save r2 in stackframe */ \
|
||||||
SAVE_4GPRS(3, r1); /* save r3 - r6 in stackframe */ \
|
SAVE_4GPRS(3, r1); /* save r3 - r6 in stackframe */ \
|
||||||
SAVE_2GPRS(7, r1); /* save r7, r8 in stackframe */ \
|
SAVE_2GPRS(7, r1); /* save r7, r8 in stackframe */ \
|
||||||
|
@ -453,8 +451,7 @@ END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66); \
|
||||||
beq 4f; /* if from kernel mode */ \
|
beq 4f; /* if from kernel mode */ \
|
||||||
ACCOUNT_CPU_USER_ENTRY(r13, r9, r10); \
|
ACCOUNT_CPU_USER_ENTRY(r13, r9, r10); \
|
||||||
SAVE_PPR(area, r9); \
|
SAVE_PPR(area, r9); \
|
||||||
4: EXCEPTION_PROLOG_COMMON_2(area); \
|
4: EXCEPTION_PROLOG_COMMON_2(area, trap); \
|
||||||
EXCEPTION_PROLOG_COMMON_3(trap); \
|
|
||||||
ACCOUNT_STOLEN_TIME
|
ACCOUNT_STOLEN_TIME
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -464,8 +461,7 @@ END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66); \
|
||||||
#define EXCEPTION_COMMON_STACK(area, trap) \
|
#define EXCEPTION_COMMON_STACK(area, trap) \
|
||||||
EXCEPTION_PROLOG_COMMON_1(); \
|
EXCEPTION_PROLOG_COMMON_1(); \
|
||||||
kuap_save_amr_and_lock r9, r10, cr1; \
|
kuap_save_amr_and_lock r9, r10, cr1; \
|
||||||
EXCEPTION_PROLOG_COMMON_2(area); \
|
EXCEPTION_PROLOG_COMMON_2(area, trap)
|
||||||
EXCEPTION_PROLOG_COMMON_3(trap)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Restore all registers including H/SRR0/1 saved in a stack frame of a
|
* Restore all registers including H/SRR0/1 saved in a stack frame of a
|
||||||
|
@ -968,8 +964,7 @@ EXC_COMMON_BEGIN(machine_check_early_common)
|
||||||
|
|
||||||
EXCEPTION_PROLOG_COMMON_1()
|
EXCEPTION_PROLOG_COMMON_1()
|
||||||
/* We don't touch AMR here, we never go to virtual mode */
|
/* We don't touch AMR here, we never go to virtual mode */
|
||||||
EXCEPTION_PROLOG_COMMON_2(PACA_EXMC)
|
EXCEPTION_PROLOG_COMMON_2(PACA_EXMC, 0x200)
|
||||||
EXCEPTION_PROLOG_COMMON_3(0x200)
|
|
||||||
|
|
||||||
ld r3,PACA_EXMC+EX_DAR(r13)
|
ld r3,PACA_EXMC+EX_DAR(r13)
|
||||||
lwz r4,PACA_EXMC+EX_DSISR(r13)
|
lwz r4,PACA_EXMC+EX_DSISR(r13)
|
||||||
|
@ -1616,8 +1611,7 @@ EXC_COMMON_BEGIN(hmi_exception_early_common)
|
||||||
subi r1,r1,INT_FRAME_SIZE /* alloc stack frame */
|
subi r1,r1,INT_FRAME_SIZE /* alloc stack frame */
|
||||||
EXCEPTION_PROLOG_COMMON_1()
|
EXCEPTION_PROLOG_COMMON_1()
|
||||||
/* We don't touch AMR here, we never go to virtual mode */
|
/* We don't touch AMR here, we never go to virtual mode */
|
||||||
EXCEPTION_PROLOG_COMMON_2(PACA_EXGEN)
|
EXCEPTION_PROLOG_COMMON_2(PACA_EXGEN, 0xe60)
|
||||||
EXCEPTION_PROLOG_COMMON_3(0xe60)
|
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
bl hmi_exception_realmode
|
bl hmi_exception_realmode
|
||||||
cmpdi cr0,r3,0
|
cmpdi cr0,r3,0
|
||||||
|
|
Loading…
Reference in New Issue