1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21965aae3SH. Peter Anvin #ifndef _ASM_X86_PROTO_H 31965aae3SH. Peter Anvin #define _ASM_X86_PROTO_H 4bb898558SAl Viro 5bb898558SAl Viro #include <asm/ldt.h> 6bb898558SAl Viro 7f7b21a0eSJan Kiszka struct task_struct; 8f7b21a0eSJan Kiszka 9bb898558SAl Viro /* misc architecture specific prototypes */ 10bb898558SAl Viro 115bd085b5SH. Peter Anvin void syscall_init(void); 12bb898558SAl Viro 13f2b37575SAndy Lutomirski #ifdef CONFIG_X86_64 14b2502b41SIngo Molnar void entry_SYSCALL_64(void); 15a13644f3SJoerg Roedel void entry_SYSCALL_64_safe_stack(void); 1647f33de4SLai Jiangshan void entry_SYSRETQ_unsafe_stack(void); 1747f33de4SLai Jiangshan void entry_SYSRETQ_end(void); 1817a6e1b8SKyle Huey long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2); 19f2b37575SAndy Lutomirski #endif 20f2b37575SAndy Lutomirski 21f2b37575SAndy Lutomirski #ifdef CONFIG_X86_32 22b2502b41SIngo Molnar void entry_INT80_32(void); 234c8cd0c5SIngo Molnar void entry_SYSENTER_32(void); 24f2b37575SAndy Lutomirski void __begin_SYSENTER_singlestep_region(void); 25f2b37575SAndy Lutomirski void __end_SYSENTER_singlestep_region(void); 26f2b37575SAndy Lutomirski #endif 27f2b37575SAndy Lutomirski 28f2b37575SAndy Lutomirski #ifdef CONFIG_IA32_EMULATION 294c8cd0c5SIngo Molnar void entry_SYSENTER_compat(void); 30f2b37575SAndy Lutomirski void __end_entry_SYSENTER_compat(void); 31f2b37575SAndy Lutomirski void entry_SYSCALL_compat(void); 3278a81d88SJoerg Roedel void entry_SYSCALL_compat_safe_stack(void); 3347f33de4SLai Jiangshan void entry_SYSRETL_compat_unsafe_stack(void); 3447f33de4SLai Jiangshan void entry_SYSRETL_compat_end(void); 35*61382281SNikolay Borisov #else /* !CONFIG_IA32_EMULATION */ 36*61382281SNikolay Borisov #define entry_SYSCALL_compat NULL 37*61382281SNikolay Borisov #define entry_SYSENTER_compat NULL 38f2b37575SAndy Lutomirski #endif 39bb898558SAl Viro 405bd085b5SH. Peter Anvin void x86_configure_nx(void); 41bb898558SAl Viro 42bb898558SAl Viro extern int reboot_force; 43bb898558SAl Viro 44f5c0b4f3SThomas Gleixner long do_arch_prctl_common(int option, unsigned long arg2); 45b0b9b014SKyle Huey 461965aae3SH. Peter Anvin #endif /* _ASM_X86_PROTO_H */ 47