1 /* asm.h - x86 tool dependent headers */
2 
3 /*
4  * Copyright (c) 2007-2014 Wind River Systems, Inc.
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  */
8 
9 #ifndef ZEPHYR_INCLUDE_ARCH_X86_IA32_ASM_H_
10 #define ZEPHYR_INCLUDE_ARCH_X86_IA32_ASM_H_
11 
12 #include <toolchain.h>
13 #include <linker/sections.h>
14 
15 #if defined(_ASMLANGUAGE)
16 
17 #ifdef CONFIG_X86_KPTI
18 GTEXT(z_x86_trampoline_to_user)
19 GTEXT(z_x86_trampoline_to_kernel)
20 
21 #define KPTI_IRET	jmp z_x86_trampoline_to_user
22 #define KPTI_IRET_USER	jmp z_x86_trampoline_to_user_always
23 #else
24 #define KPTI_IRET	iret
25 #define KPTI_IRET_USER	iret
26 #endif /* CONFIG_X86_KPTI */
27 
28 #endif /* _ASMLANGUAGE */
29 
30 #endif /* ZEPHYR_INCLUDE_ARCH_X86_IA32_ASM_H_ */
31