aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/entry/calling.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/entry/calling.h')
-rw-r--r--arch/x86/entry/calling.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/entry/calling.h b/arch/x86/entry/calling.h
index 3c71dd947c7b..e32206e09868 100644
--- a/arch/x86/entry/calling.h
+++ b/arch/x86/entry/calling.h
@@ -1,3 +1,5 @@
1#include <linux/jump_label.h>
2
1/* 3/*
2 4
3 x86 function call convention, 64-bit: 5 x86 function call convention, 64-bit:
@@ -232,3 +234,16 @@ For 32-bit we have the following conventions - kernel is built with
232 234
233#endif /* CONFIG_X86_64 */ 235#endif /* CONFIG_X86_64 */
234 236
237/*
238 * This does 'call enter_from_user_mode' unless we can avoid it based on
239 * kernel config or using the static jump infrastructure.
240 */
241.macro CALL_enter_from_user_mode
242#ifdef CONFIG_CONTEXT_TRACKING
243#ifdef HAVE_JUMP_LABEL
244 STATIC_JUMP_IF_FALSE .Lafter_call_\@, context_tracking_enabled, def=0
245#endif
246 call enter_from_user_mode
247.Lafter_call_\@:
248#endif
249.endm