summary refs log tree commit diff
path: root/arch/xtensa
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2022-03-19 05:58:21 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2022-03-19 13:08:32 -0700
commite6d423aaaea13e6dc48e42472aeebc8607ae2574 (patch)
tree63b922f9e580feb54d872de4a565cc501be68aeb /arch/xtensa
parente94dc6bbdf29787a5ddb01c143a074c31e427dc7 (diff)
downloadlinux-e6d423aaaea13e6dc48e42472aeebc8607ae2574.tar.gz
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>
Diffstat (limited to 'arch/xtensa')
-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