GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / x86 / include / asm / proto.h
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 long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
16 #endif
17
18 #ifdef CONFIG_X86_32
19 void entry_INT80_32(void);
20 void entry_SYSENTER_32(void);
21 void __begin_SYSENTER_singlestep_region(void);
22 void __end_SYSENTER_singlestep_region(void);
23 #endif
24
25 #ifdef CONFIG_IA32_EMULATION
26 void entry_SYSENTER_compat(void);
27 void __end_entry_SYSENTER_compat(void);
28 void entry_SYSCALL_compat(void);
29 void entry_INT80_compat(void);
30 #if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
31 void xen_entry_INT80_compat(void);
32 #endif
33 #endif
34
35 void x86_configure_nx(void);
36 void x86_report_nx(void);
37
38 extern int reboot_force;
39
40 long do_arch_prctl_common(struct task_struct *task, int option,
41                           unsigned long cpuid_enabled);
42
43 #endif /* _ASM_X86_PROTO_H */