blob: 6e81788a30c12394f28f7258db157880890adf24 [file] [log] [blame]
Googler9398cc32022-12-02 17:21:52 +08001/* SPDX-License-Identifier: GPL-2.0 */
Googleraf606d22022-10-26 21:40:12 -07002#ifndef _ASM_X86_PROTO_H
3#define _ASM_X86_PROTO_H
4
5#include <asm/ldt.h>
6
Googleraf606d22022-10-26 21:40:12 -07007/* misc architecture specific prototypes */
8
9void syscall_init(void);
10
11#ifdef CONFIG_X86_64
12void entry_SYSCALL_64(void);
Googler9398cc32022-12-02 17:21:52 +080013long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
Googleraf606d22022-10-26 21:40:12 -070014#endif
15
16#ifdef CONFIG_X86_32
17void entry_INT80_32(void);
18void entry_SYSENTER_32(void);
19void __begin_SYSENTER_singlestep_region(void);
20void __end_SYSENTER_singlestep_region(void);
21#endif
22
23#ifdef CONFIG_IA32_EMULATION
24void entry_SYSENTER_compat(void);
25void __end_entry_SYSENTER_compat(void);
26void entry_SYSCALL_compat(void);
27void entry_INT80_compat(void);
Googler9398cc32022-12-02 17:21:52 +080028#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
29void xen_entry_INT80_compat(void);
30#endif
Googleraf606d22022-10-26 21:40:12 -070031#endif
32
33void x86_configure_nx(void);
34void x86_report_nx(void);
35
36extern int reboot_force;
37
Googler9398cc32022-12-02 17:21:52 +080038long do_arch_prctl_common(struct task_struct *task, int option,
39 unsigned long cpuid_enabled);
Googleraf606d22022-10-26 21:40:12 -070040
41#endif /* _ASM_X86_PROTO_H */