Commit 55427d5b authored by Max Filippov's avatar Max Filippov

xtensa: enable context tracking

Put user exit context tracking call on the common kernel entry/exit path
(function calls are impossible at earlier kernel entry stages because
PS.EXCM is not cleared yet). Put user entry context tracking call on the
user exit path. Syscalls go through this common code too, so nothing
specific needs to be done for them.
Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 961c5efb
...@@ -27,5 +27,5 @@ ...@@ -27,5 +27,5 @@
| sparc: | ok | | sparc: | ok |
| um: | TODO | | um: | TODO |
| x86: | ok | | x86: | ok |
| xtensa: | TODO | | xtensa: | ok |
----------------------- -----------------------
...@@ -31,6 +31,7 @@ config XTENSA ...@@ -31,6 +31,7 @@ config XTENSA
select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL
select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_CONTEXT_TRACKING
select HAVE_DEBUG_KMEMLEAK select HAVE_DEBUG_KMEMLEAK
select HAVE_DMA_CONTIGUOUS select HAVE_DMA_CONTIGUOUS
select HAVE_EXIT_THREAD select HAVE_EXIT_THREAD
......
...@@ -456,6 +456,12 @@ KABI_W or a3, a3, a2 ...@@ -456,6 +456,12 @@ KABI_W or a3, a3, a2
beqz abi_tmp0, 1f beqz abi_tmp0, 1f
abi_call trace_hardirqs_off abi_call trace_hardirqs_off
1: 1:
#endif
#ifdef CONFIG_CONTEXT_TRACKING
l32i abi_tmp0, a1, PT_PS
bbci.l abi_tmp0, PS_UM_BIT, 1f
abi_call context_tracking_user_exit
1:
#endif #endif
/* Go to second-level dispatcher. Set up parameters to pass to the /* Go to second-level dispatcher. Set up parameters to pass to the
...@@ -540,6 +546,9 @@ common_exception_return: ...@@ -540,6 +546,9 @@ common_exception_return:
j .Lrestore_state j .Lrestore_state
.Lexit_tif_loop_user: .Lexit_tif_loop_user:
#ifdef CONFIG_CONTEXT_TRACKING
abi_call context_tracking_user_enter
#endif
#ifdef CONFIG_HAVE_HW_BREAKPOINT #ifdef CONFIG_HAVE_HW_BREAKPOINT
_bbci.l abi_saved0, TIF_DB_DISABLED, 1f _bbci.l abi_saved0, TIF_DB_DISABLED, 1f
abi_call restore_dbreak abi_call restore_dbreak
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment