xtensa: rearrange NMI exit path
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 19 Mar 2022 12:58:21 +0000 (05:58 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Sat, 19 Mar 2022 20:08:32 +0000 (13:08 -0700)
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>
arch/xtensa/kernel/entry.S

index 77a7c8da3ff51093203ef56d4cbe3e8b39a54650..8d671898d5820713b6274e8b7d0714b21be5b0b8 100644 (file)
@@ -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