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
7struct task_struct;
8
9/* misc architecture specific prototypes */
10
11void syscall_init(void);
12
13#ifdef CONFIG_X86_64
14void entry_SYSCALL_64(void);
15void entry_SYSCALL_64_safe_stack(void);
16void entry_SYSRETQ_unsafe_stack(void);
17void entry_SYSRETQ_end(void);
18long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
19#endif
20
21#ifdef CONFIG_X86_32
22void entry_INT80_32(void);
23void entry_SYSENTER_32(void);
24void __begin_SYSENTER_singlestep_region(void);
25void __end_SYSENTER_singlestep_region(void);
26#endif
27
28#ifdef CONFIG_IA32_EMULATION
29void entry_SYSENTER_compat(void);
30void __end_entry_SYSENTER_compat(void);
31void entry_SYSCALL_compat(void);
32void entry_SYSCALL_compat_safe_stack(void);
33void entry_SYSRETL_compat_unsafe_stack(void);
34void entry_SYSRETL_compat_end(void);
35#else /* !CONFIG_IA32_EMULATION */
36#define entry_SYSCALL_compat NULL
37#define entry_SYSENTER_compat NULL
38#endif
39
40void x86_configure_nx(void);
41
42extern int reboot_force;
43
44long do_arch_prctl_common(int option, unsigned long arg2);
45
46#endif /* _ASM_X86_PROTO_H */
47