blob: 8c5d1910a848f25091711eb675f400dc6f8270f7 [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);
Olivier Deprez157378f2022-04-04 15:47:50 +020015void entry_SYSCALL_64_safe_stack(void);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000016long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
17#endif
18
19#ifdef CONFIG_X86_32
20void entry_INT80_32(void);
21void entry_SYSENTER_32(void);
22void __begin_SYSENTER_singlestep_region(void);
23void __end_SYSENTER_singlestep_region(void);
24#endif
25
26#ifdef CONFIG_IA32_EMULATION
27void entry_SYSENTER_compat(void);
28void __end_entry_SYSENTER_compat(void);
29void entry_SYSCALL_compat(void);
Olivier Deprez157378f2022-04-04 15:47:50 +020030void entry_SYSCALL_compat_safe_stack(void);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000031void entry_INT80_compat(void);
Olivier Deprez157378f2022-04-04 15:47:50 +020032#ifdef CONFIG_XEN_PV
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000033void xen_entry_INT80_compat(void);
34#endif
35#endif
36
37void x86_configure_nx(void);
38void x86_report_nx(void);
39
40extern int reboot_force;
41
42long do_arch_prctl_common(struct task_struct *task, int option,
43 unsigned long cpuid_enabled);
44
45#endif /* _ASM_X86_PROTO_H */