1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_PROTO_H
3 #define _ASM_X86_PROTO_H
4 
5 #include <asm/ldt.h>
6 
7 struct task_struct;
8 
9 /* misc architecture specific prototypes */
10 
11 void syscall_init(void);
12 
13 #ifdef CONFIG_X86_64
14 void entry_SYSCALL_64(void);
15 void entry_SYSCALL_64_safe_stack(void);
16 long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
17 #endif
18 
19 #ifdef CONFIG_X86_32
20 void entry_INT80_32(void);
21 void entry_SYSENTER_32(void);
22 void __begin_SYSENTER_singlestep_region(void);
23 void __end_SYSENTER_singlestep_region(void);
24 #endif
25 
26 #ifdef CONFIG_IA32_EMULATION
27 void entry_SYSENTER_compat(void);
28 void __end_entry_SYSENTER_compat(void);
29 void entry_SYSCALL_compat(void);
30 void entry_SYSCALL_compat_safe_stack(void);
31 void entry_INT80_compat(void);
32 #ifdef CONFIG_XEN_PV
33 void xen_entry_INT80_compat(void);
34 #endif
35 #endif
36 
37 void x86_configure_nx(void);
38 void x86_report_nx(void);
39 
40 extern int reboot_force;
41 
42 long do_arch_prctl_common(struct task_struct *task, int option,
43 			  unsigned long arg2);
44 
45 #endif /* _ASM_X86_PROTO_H */
46