powerpc/64e: Get dear offset with _DEAR macro
Use _DEAR to get the offset of dear register in pr_regs for 64e cpus. Signed-off-by: Xiongwei Song <sxwjean@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210807010239.416055-5-sxwjean@me.com
This commit is contained in:
Родитель
4872cbd0ca
Коммит
d9db6e4202
|
@ -286,23 +286,16 @@ int main(void)
|
|||
STACK_PT_REGS_OFFSET(_CCR, ccr);
|
||||
STACK_PT_REGS_OFFSET(_XER, xer);
|
||||
STACK_PT_REGS_OFFSET(_DAR, dar);
|
||||
STACK_PT_REGS_OFFSET(_DEAR, dear);
|
||||
STACK_PT_REGS_OFFSET(_DSISR, dsisr);
|
||||
STACK_PT_REGS_OFFSET(_ESR, esr);
|
||||
STACK_PT_REGS_OFFSET(ORIG_GPR3, orig_gpr3);
|
||||
STACK_PT_REGS_OFFSET(RESULT, result);
|
||||
STACK_PT_REGS_OFFSET(_TRAP, trap);
|
||||
#ifndef CONFIG_PPC64
|
||||
/*
|
||||
* The PowerPC 400-class & Book-E processors have neither the DAR
|
||||
* nor the DSISR SPRs. Hence, we overload them to hold the similar
|
||||
* DEAR and ESR SPRs for such processors. For critical interrupts
|
||||
* we use them to hold SRR0 and SRR1.
|
||||
*/
|
||||
STACK_PT_REGS_OFFSET(_DEAR, dar);
|
||||
#else /* CONFIG_PPC64 */
|
||||
#ifdef CONFIG_PPC64
|
||||
STACK_PT_REGS_OFFSET(SOFTE, softe);
|
||||
STACK_PT_REGS_OFFSET(_PPR, ppr);
|
||||
#endif /* CONFIG_PPC64 */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC_PKEY
|
||||
STACK_PT_REGS_OFFSET(STACK_REGS_AMR, amr);
|
||||
|
|
|
@ -545,7 +545,7 @@ __end_interrupts:
|
|||
PROLOG_ADDITION_2REGS)
|
||||
mfspr r14,SPRN_DEAR
|
||||
mfspr r15,SPRN_ESR
|
||||
std r14,_DAR(r1)
|
||||
std r14,_DEAR(r1)
|
||||
std r15,_ESR(r1)
|
||||
ld r14,PACA_EXGEN+EX_R14(r13)
|
||||
ld r15,PACA_EXGEN+EX_R15(r13)
|
||||
|
@ -558,7 +558,7 @@ __end_interrupts:
|
|||
PROLOG_ADDITION_2REGS)
|
||||
li r15,0
|
||||
mr r14,r10
|
||||
std r14,_DAR(r1)
|
||||
std r14,_DEAR(r1)
|
||||
std r15,_ESR(r1)
|
||||
ld r14,PACA_EXGEN+EX_R14(r13)
|
||||
ld r15,PACA_EXGEN+EX_R15(r13)
|
||||
|
@ -575,7 +575,7 @@ __end_interrupts:
|
|||
PROLOG_ADDITION_2REGS)
|
||||
mfspr r14,SPRN_DEAR
|
||||
mfspr r15,SPRN_ESR
|
||||
std r14,_DAR(r1)
|
||||
std r14,_DEAR(r1)
|
||||
std r15,_ESR(r1)
|
||||
ld r14,PACA_EXGEN+EX_R14(r13)
|
||||
ld r15,PACA_EXGEN+EX_R15(r13)
|
||||
|
@ -1057,7 +1057,7 @@ bad_stack_book3e:
|
|||
std r11,_CCR(r1)
|
||||
mfspr r10,SPRN_DEAR
|
||||
mfspr r11,SPRN_ESR
|
||||
std r10,_DAR(r1)
|
||||
std r10,_DEAR(r1)
|
||||
std r11,_ESR(r1)
|
||||
std r0,GPR0(r1); /* save r0 in stackframe */ \
|
||||
std r2,GPR2(r1); /* save r2 in stackframe */ \
|
||||
|
|
Загрузка…
Ссылка в новой задаче