diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-01-30 16:08:42 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-02-08 16:10:46 +0300 |
commit | 540d4d34bef4ec58aba12b159030492616d6f54e (patch) | |
tree | 27d877d754c926b45a0b8f9297c27ef39852a9b1 /arch/powerpc/mm | |
parent | a008f8f9fd67ffb13d906ef4ea6235a3d62dfdb6 (diff) | |
download | linux-540d4d34bef4ec58aba12b159030492616d6f54e.tar.xz |
powerpc/64: context tracking move to interrupt wrappers
This moves exception_enter/exit calls to wrapper functions for
synchronous interrupts. More interrupt handlers are covered by
this than previously.
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-33-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r-- | arch/powerpc/mm/book3s64/hash_utils.c | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/fault.c | 9 |
2 files changed, 1 insertions, 11 deletions
diff --git a/arch/powerpc/mm/book3s64/hash_utils.c b/arch/powerpc/mm/book3s64/hash_utils.c index d681dc5a7b1c..fb7c10524bcd 100644 --- a/arch/powerpc/mm/book3s64/hash_utils.c +++ b/arch/powerpc/mm/book3s64/hash_utils.c @@ -1514,7 +1514,6 @@ EXPORT_SYMBOL_GPL(hash_page); DECLARE_INTERRUPT_HANDLER_RET(__do_hash_fault); DEFINE_INTERRUPT_HANDLER_RET(__do_hash_fault) { - enum ctx_state prev_state = exception_enter(); unsigned long ea = regs->dar; unsigned long dsisr = regs->dsisr; unsigned long access = _PAGE_PRESENT | _PAGE_READ; @@ -1563,8 +1562,6 @@ DEFINE_INTERRUPT_HANDLER_RET(__do_hash_fault) err = 0; } - exception_exit(prev_state); - return err; } diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 9c4220efc20f..b26a7643fc6e 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -564,14 +564,7 @@ NOKPROBE_SYMBOL(__do_page_fault); DEFINE_INTERRUPT_HANDLER_RET(do_page_fault) { - enum ctx_state prev_state = exception_enter(); - long err; - - err = __do_page_fault(regs); - - exception_exit(prev_state); - - return err; + return __do_page_fault(regs); } NOKPROBE_SYMBOL(do_page_fault); |