powerpc: DebugException remove args
Like other interrupt handler conversions, switch to getting registers from the pt_regs argument. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210130130852.2952424-10-npiggin@gmail.com
This commit is contained in:
parent
18722ecf9e
commit
755d664174
@ -791,7 +791,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
|
|||||||
EXCEPTION_COMMON_CRIT(0xd00)
|
EXCEPTION_COMMON_CRIT(0xd00)
|
||||||
std r14,_DSISR(r1)
|
std r14,_DSISR(r1)
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
mr r4,r14
|
|
||||||
ld r14,PACA_EXCRIT+EX_R14(r13)
|
ld r14,PACA_EXCRIT+EX_R14(r13)
|
||||||
ld r15,PACA_EXCRIT+EX_R15(r13)
|
ld r15,PACA_EXCRIT+EX_R15(r13)
|
||||||
bl save_nvgprs
|
bl save_nvgprs
|
||||||
@ -864,7 +863,6 @@ kernel_dbg_exc:
|
|||||||
INTS_DISABLE
|
INTS_DISABLE
|
||||||
std r14,_DSISR(r1)
|
std r14,_DSISR(r1)
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
mr r4,r14
|
|
||||||
ld r14,PACA_EXDBG+EX_R14(r13)
|
ld r14,PACA_EXDBG+EX_R14(r13)
|
||||||
ld r15,PACA_EXDBG+EX_R15(r13)
|
ld r15,PACA_EXDBG+EX_R15(r13)
|
||||||
bl save_nvgprs
|
bl save_nvgprs
|
||||||
|
@ -476,6 +476,7 @@ _ENTRY(saved_ksp_limit)
|
|||||||
|
|
||||||
/* continue normal handling for a critical exception... */
|
/* continue normal handling for a critical exception... */
|
||||||
2: mfspr r4,SPRN_DBSR
|
2: mfspr r4,SPRN_DBSR
|
||||||
|
stw r4,_ESR(r11) /* DebugException takes DBSR in _ESR */
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
EXC_XFER_TEMPLATE(DebugException, 0x2002, \
|
EXC_XFER_TEMPLATE(DebugException, 0x2002, \
|
||||||
(MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \
|
(MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \
|
||||||
|
@ -406,6 +406,7 @@ label:
|
|||||||
\
|
\
|
||||||
/* continue normal handling for a debug exception... */ \
|
/* continue normal handling for a debug exception... */ \
|
||||||
2: mfspr r4,SPRN_DBSR; \
|
2: mfspr r4,SPRN_DBSR; \
|
||||||
|
stw r4,_ESR(r11); /* DebugException takes DBSR in _ESR */\
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD; \
|
addi r3,r1,STACK_FRAME_OVERHEAD; \
|
||||||
EXC_XFER_TEMPLATE(DebugException, 0x2008, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), debug_transfer_to_handler, ret_from_debug_exc)
|
EXC_XFER_TEMPLATE(DebugException, 0x2008, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), debug_transfer_to_handler, ret_from_debug_exc)
|
||||||
|
|
||||||
@ -459,6 +460,7 @@ label:
|
|||||||
\
|
\
|
||||||
/* continue normal handling for a critical exception... */ \
|
/* continue normal handling for a critical exception... */ \
|
||||||
2: mfspr r4,SPRN_DBSR; \
|
2: mfspr r4,SPRN_DBSR; \
|
||||||
|
stw r4,_ESR(r11); /* DebugException takes DBSR in _ESR */\
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD; \
|
addi r3,r1,STACK_FRAME_OVERHEAD; \
|
||||||
EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), crit_transfer_to_handler, ret_from_crit_exc)
|
EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), crit_transfer_to_handler, ret_from_crit_exc)
|
||||||
|
|
||||||
|
@ -1957,8 +1957,10 @@ static void handle_debug(struct pt_regs *regs, unsigned long debug_status)
|
|||||||
mtspr(SPRN_DBCR0, current->thread.debug.dbcr0);
|
mtspr(SPRN_DBCR0, current->thread.debug.dbcr0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebugException(struct pt_regs *regs, unsigned long debug_status)
|
void DebugException(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
|
unsigned long debug_status = regs->dsisr;
|
||||||
|
|
||||||
current->thread.debug.dbsr = debug_status;
|
current->thread.debug.dbsr = debug_status;
|
||||||
|
|
||||||
/* Hack alert: On BookE, Branch Taken stops on the branch itself, while
|
/* Hack alert: On BookE, Branch Taken stops on the branch itself, while
|
||||||
|
Loading…
Reference in New Issue
Block a user