diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-08-12 02:39:01 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-08-23 23:11:28 +1000 |
commit | c05f0be888225f7228f81825730da3c9ba2088cb (patch) | |
tree | f96e66e3e48fdc3acd16678e4fb60d1c9298649e /arch | |
parent | 6e9a2f6ebac457dd81c531473c1364514907e5a7 (diff) | |
download | talos-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.S | 2 |
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) |