diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2022-04-13 20:41:12 -0700 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2022-05-01 19:51:21 -0700 |
commit | 55427d5b0dff5754f3579dde93955aac483e8d6a (patch) | |
tree | 6acc44817c296f6a1f1c25894fb843880d749705 /arch/xtensa/kernel/entry.S | |
parent | xtensa: use abi_* register names in the kernel exit code (diff) | |
download | linux-dev-55427d5b0dff5754f3579dde93955aac483e8d6a.tar.xz linux-dev-55427d5b0dff5754f3579dde93955aac483e8d6a.zip |
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: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to '')
-rw-r--r-- | arch/xtensa/kernel/entry.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index d09f2c38ba84..f2c789a5a92a 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S @@ -457,6 +457,12 @@ KABI_W or a3, a3, a2 abi_call trace_hardirqs_off 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 /* Go to second-level dispatcher. Set up parameters to pass to the * exception handler and call the exception handler. @@ -540,6 +546,9 @@ common_exception_return: j .Lrestore_state .Lexit_tif_loop_user: +#ifdef CONFIG_CONTEXT_TRACKING + abi_call context_tracking_user_enter +#endif #ifdef CONFIG_HAVE_HW_BREAKPOINT _bbci.l abi_saved0, TIF_DB_DISABLED, 1f abi_call restore_dbreak |