diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-01-30 23:08:43 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-02-09 00:10:48 +1100 |
commit | 6fdb0f410bb026ade092039a6c2655a53323c996 (patch) | |
tree | 9a1eab737b01ffd646c612a8919375cb3c5936fe /arch/powerpc/include/asm/interrupt.h | |
parent | 540d4d34bef4ec58aba12b159030492616d6f54e (diff) | |
download | linux-6fdb0f410bb026ade092039a6c2655a53323c996.tar.gz linux-6fdb0f410bb026ade092039a6c2655a53323c996.tar.bz2 linux-6fdb0f410bb026ade092039a6c2655a53323c996.zip |
powerpc/64: add context tracking to asynchronous interrupts
Previously context tracking was not done for asynchronous interrupts,
(those that run in interrupt context), and if those would cause a
reschedule when they exit, then scheduling functions (schedule_user,
preempt_schedule_irq) call exception_enter/exit to fix this up and
exit user context.
This is a hack we would like to get away from, so do context tracking
for asynchronous interrupts too.
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-34-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/include/asm/interrupt.h')
-rw-r--r-- | arch/powerpc/include/asm/interrupt.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h index e65ce3e2b071..f7f64c3c514d 100644 --- a/arch/powerpc/include/asm/interrupt.h +++ b/arch/powerpc/include/asm/interrupt.h @@ -42,10 +42,12 @@ static inline void interrupt_exit_prepare(struct pt_regs *regs, struct interrupt static inline void interrupt_async_enter_prepare(struct pt_regs *regs, struct interrupt_state *state) { + interrupt_enter_prepare(regs, state); } static inline void interrupt_async_exit_prepare(struct pt_regs *regs, struct interrupt_state *state) { + interrupt_exit_prepare(regs, state); } struct interrupt_nmi_state { |