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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,5 +27,5 @@
    |       sparc: |  ok  |
    |          um: | TODO |
    |         x86: |  ok  |
    |      xtensa: | TODO |
    |      xtensa: |  ok  |
    -----------------------
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ config XTENSA
	select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_TRACEHOOK
	select HAVE_CONTEXT_TRACKING
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_DMA_CONTIGUOUS
	select HAVE_EXIT_THREAD
+9 −0
Original line number Diff line number Diff line
@@ -456,6 +456,12 @@ KABI_W or a3, a3, a2
	beqz		abi_tmp0, 1f
	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
@@ -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