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 7bb898558SAl Viro /* misc architecture specific prototypes */ 8bb898558SAl Viro 95bd085b5SH. Peter Anvin void syscall_init(void); 10bb898558SAl Viro 11f2b37575SAndy Lutomirski #ifdef CONFIG_X86_64 12b2502b41SIngo Molnar void entry_SYSCALL_64(void); 13*a13644f3SJoerg Roedel void entry_SYSCALL_64_safe_stack(void); 1417a6e1b8SKyle Huey long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2); 15f2b37575SAndy Lutomirski #endif 16f2b37575SAndy Lutomirski 17f2b37575SAndy Lutomirski #ifdef CONFIG_X86_32 18b2502b41SIngo Molnar void entry_INT80_32(void); 194c8cd0c5SIngo Molnar void entry_SYSENTER_32(void); 20f2b37575SAndy Lutomirski void __begin_SYSENTER_singlestep_region(void); 21f2b37575SAndy Lutomirski void __end_SYSENTER_singlestep_region(void); 22f2b37575SAndy Lutomirski #endif 23f2b37575SAndy Lutomirski 24f2b37575SAndy Lutomirski #ifdef CONFIG_IA32_EMULATION 254c8cd0c5SIngo Molnar void entry_SYSENTER_compat(void); 26f2b37575SAndy Lutomirski void __end_entry_SYSENTER_compat(void); 27f2b37575SAndy Lutomirski void entry_SYSCALL_compat(void); 28f2b37575SAndy Lutomirski void entry_INT80_compat(void); 29a13f2ef1SJuergen Gross #ifdef CONFIG_XEN_PV 305878d5d6SJuergen Gross void xen_entry_INT80_compat(void); 315878d5d6SJuergen Gross #endif 32f2b37575SAndy Lutomirski #endif 33bb898558SAl Viro 345bd085b5SH. Peter Anvin void x86_configure_nx(void); 355bd085b5SH. Peter Anvin void x86_report_nx(void); 36bb898558SAl Viro 37bb898558SAl Viro extern int reboot_force; 38bb898558SAl Viro 39b0b9b014SKyle Huey long do_arch_prctl_common(struct task_struct *task, int option, 40b0b9b014SKyle Huey unsigned long cpuid_enabled); 41b0b9b014SKyle Huey 421965aae3SH. Peter Anvin #endif /* _ASM_X86_PROTO_H */ 43