xref: /openbmc/linux/arch/x86/include/asm/proto.h (revision d0c44de2d8ffd2e4780d360b34ee6614aa4af080)
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);
16*47f33de4SLai Jiangshan void entry_SYSRETQ_unsafe_stack(void);
17*47f33de4SLai 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);
33*47f33de4SLai Jiangshan void entry_SYSRETL_compat_unsafe_stack(void);
34*47f33de4SLai Jiangshan void entry_SYSRETL_compat_end(void);
35f2b37575SAndy Lutomirski #endif
36bb898558SAl Viro 
375bd085b5SH. Peter Anvin void x86_configure_nx(void);
38bb898558SAl Viro 
39bb898558SAl Viro extern int reboot_force;
40bb898558SAl Viro 
41f5c0b4f3SThomas Gleixner long do_arch_prctl_common(int option, unsigned long arg2);
42b0b9b014SKyle Huey 
431965aae3SH. Peter Anvin #endif /* _ASM_X86_PROTO_H */
44