aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/interrupt_64.S
diff options
context:
space:
mode:
authorGravatar Nicholas Piggin <npiggin@gmail.com> 2023-03-25 22:29:00 +1000
committerGravatar Michael Ellerman <mpe@ellerman.id.au> 2023-04-11 23:13:32 +1000
commit5088a6246bd3dcfea504376f356683f750136f7f (patch)
tree5c05ad5753403bafde67c2575001e9de92efe33c /arch/powerpc/kernel/interrupt_64.S
parentpowerpc: use switch frame for ret_from_kernel_thread parameters (diff)
downloadlinux-5088a6246bd3dcfea504376f356683f750136f7f.tar.gz
linux-5088a6246bd3dcfea504376f356683f750136f7f.tar.bz2
linux-5088a6246bd3dcfea504376f356683f750136f7f.zip
powerpc/64: ret_from_fork avoid restoring regs twice
If the system call return path always restores NVGPRs then there is no need for ret_from_fork to do it. The HANDLER_RESTORE_NVGPRS does the right thing for this. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230325122904.2375060-5-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kernel/interrupt_64.S')
-rw-r--r--arch/powerpc/kernel/interrupt_64.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/interrupt_64.S b/arch/powerpc/kernel/interrupt_64.S
index d60e7e7564df..bac1f89501ac 100644
--- a/arch/powerpc/kernel/interrupt_64.S
+++ b/arch/powerpc/kernel/interrupt_64.S
@@ -728,14 +728,14 @@ DEFINE_FIXED_SYMBOL(__end_soft_masked, text)
#ifdef CONFIG_PPC_BOOK3S
_GLOBAL(ret_from_fork_scv)
bl schedule_tail
- REST_NVGPRS(r1)
+ HANDLER_RESTORE_NVGPRS()
li r3,0 /* fork() return value */
b .Lsyscall_vectored_common_exit
#endif
_GLOBAL(ret_from_fork)
bl schedule_tail
- REST_NVGPRS(r1)
+ HANDLER_RESTORE_NVGPRS()
li r3,0 /* fork() return value */
b .Lsyscall_exit