mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 12:14:06 +00:00
powerpc/64s/interrupt: clean up interrupt return labels
Normal kernel-interrupt exits can get interrupt_return_srr_user_restart in their backtrace, which is an unusual and notable function, and it is part of the user-interrupt exit path, which is doubly confusing. Add non-local labels for both user and kernel interrupt exit cases to address this and make the user and kernel cases more symmetric. Also get rid of an unused label. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210630074621.2109197-9-npiggin@gmail.com
This commit is contained in:
parent
98798f33c6
commit
c59458b00a
1 changed files with 5 additions and 3 deletions
|
@ -509,7 +509,9 @@ interrupt_return_\srr\():
|
|||
_ASM_NOKPROBE_SYMBOL(interrupt_return_\srr\())
|
||||
ld r4,_MSR(r1)
|
||||
andi. r0,r4,MSR_PR
|
||||
beq .Lkernel_interrupt_return_\srr
|
||||
beq interrupt_return_\srr\()_kernel
|
||||
interrupt_return_\srr\()_user: /* make backtraces match the _kernel variant */
|
||||
_ASM_NOKPROBE_SYMBOL(interrupt_return_\srr\()_user)
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
bl interrupt_exit_user_prepare
|
||||
cmpdi r3,0
|
||||
|
@ -623,8 +625,8 @@ RESTART_TABLE(.Linterrupt_return_\srr\()_user_rst_start, .Linterrupt_return_\srr
|
|||
#endif
|
||||
|
||||
.balign IFETCH_ALIGN_BYTES
|
||||
.Lkernel_interrupt_return_\srr\():
|
||||
.Linterrupt_return_\srr\()_kernel:
|
||||
interrupt_return_\srr\()_kernel:
|
||||
_ASM_NOKPROBE_SYMBOL(interrupt_return_\srr\()_kernel)
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
bl interrupt_exit_kernel_prepare
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue