summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-08-12 02:39:01 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2017-08-23 23:11:28 +1000
commitc05f0be888225f7228f81825730da3c9ba2088cb (patch)
treef96e66e3e48fdc3acd16678e4fb60d1c9298649e /arch
parent6e9a2f6ebac457dd81c531473c1364514907e5a7 (diff)
downloadtalos-op-linux-c05f0be888225f7228f81825730da3c9ba2088cb.tar.gz
talos-op-linux-c05f0be888225f7228f81825730da3c9ba2088cb.zip
powerpc/64s: masked_interrupt() returns to kernel so avoid restoring r13
Places in the kernel where r13 is not the PACA pointer must have maskable interrupts disabled, so r13 does not have to be restored when returning from a soft-masked interrupt. We should never have interrupts soft disabled when we're in user space. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 2cc5e9d4c907..6a6d4d920827 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -1379,7 +1379,7 @@ masked_##_H##interrupt: \
ld r9,PACA_EXGEN+EX_R9(r13); \
ld r10,PACA_EXGEN+EX_R10(r13); \
ld r11,PACA_EXGEN+EX_R11(r13); \
- GET_SCRATCH0(r13); \
+ /* returns to kernel where r13 must be set up, so don't restore it */ \
##_H##rfid; \
b .; \
MASKED_DEC_HANDLER(_H)
OpenPOWER on IntegriCloud