blob: 0eaca7a130c9f2efe942b2bd6859a8b70695d96b [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* 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
Olivier Deprez0e641232021-09-23 10:07:05 +02007struct task_struct;
8
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00009/* misc architecture specific prototypes */
10
11void syscall_init(void);
12
13#ifdef CONFIG_X86_64
14void entry_SYSCALL_64(void);
15long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
16#endif
17
18#ifdef CONFIG_X86_32
19void entry_INT80_32(void);
20void entry_SYSENTER_32(void);
21void __begin_SYSENTER_singlestep_region(void);
22void __end_SYSENTER_singlestep_region(void);
23#endif
24
25#ifdef CONFIG_IA32_EMULATION
26void entry_SYSENTER_compat(void);
27void __end_entry_SYSENTER_compat(void);
28void entry_SYSCALL_compat(void);
29void entry_INT80_compat(void);
30#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
31void xen_entry_INT80_compat(void);
32#endif
33#endif
34
35void x86_configure_nx(void);
36void x86_report_nx(void);
37
38extern int reboot_force;
39
40long do_arch_prctl_common(struct task_struct *task, int option,
41 unsigned long cpuid_enabled);
42
43#endif /* _ASM_X86_PROTO_H */