summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2022-03-19 13:58:21 +0100
committerMax Filippov <jcmvbkbc@gmail.com>2022-03-19 21:08:32 +0100
commite6d423aaaea13e6dc48e42472aeebc8607ae2574 (patch)
tree63b922f9e580feb54d872de4a565cc501be68aeb
parentxtensa: merge stack alignment definitions (diff)
downloadlinux-e6d423aaaea13e6dc48e42472aeebc8607ae2574.tar.xz
linux-e6d423aaaea13e6dc48e42472aeebc8607ae2574.zip
xtensa: rearrange NMI exit path
NMI exit path to userspace should neither check TIF_DB_DISABLED nor call check_tlb_sanity because NMI shouldn't touch anything related to userspace. Drop kernel/userspace check in NMI exit path. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r--arch/xtensa/kernel/entry.S13
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S
index 77a7c8da3ff5..8d671898d582 100644
--- a/arch/xtensa/kernel/entry.S
+++ b/arch/xtensa/kernel/entry.S
@@ -488,9 +488,10 @@ KABI_W or a3, a3, a2
common_exception_return:
#if XTENSA_FAKE_NMI
- l32i a2, a1, PT_EXCCAUSE
- movi a3, EXCCAUSE_MAPPED_NMI
- beq a2, a3, .LNMIexit
+ l32i abi_tmp0, a1, PT_EXCCAUSE
+ movi abi_tmp1, EXCCAUSE_MAPPED_NMI
+ l32i abi_saved1, a1, PT_PS
+ beq abi_tmp0, abi_tmp1, 4f
#endif
1:
irq_save a2, a3
@@ -550,12 +551,6 @@ common_exception_return:
j 4f
#endif
-#if XTENSA_FAKE_NMI
-.LNMIexit:
- l32i abi_saved1, a1, PT_PS
- _bbci.l abi_saved1, PS_UM_BIT, 4f
-#endif
-
5:
#ifdef CONFIG_HAVE_HW_BREAKPOINT
_bbci.l a4, TIF_DB_DISABLED, 7f