blob: 6e81788a30c12394f28f7258db157880890adf24 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
H. Peter Anvin1965aae2008-10-22 22:26:29 -07002#ifndef _ASM_X86_PROTO_H
3#define _ASM_X86_PROTO_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5#include <asm/ldt.h>
6
7/* misc architecture specific prototypes */
8
H. Peter Anvin5bd085b2009-11-16 13:55:31 -08009void syscall_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Andy Lutomirskif2b37572016-03-09 19:00:30 -080011#ifdef CONFIG_X86_64
Ingo Molnarb2502b42015-06-08 08:42:03 +020012void entry_SYSCALL_64(void);
Kyle Huey17a6e1b2017-03-20 01:16:22 -070013long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080014#endif
15
16#ifdef CONFIG_X86_32
Ingo Molnarb2502b42015-06-08 08:42:03 +020017void entry_INT80_32(void);
Ingo Molnar4c8cd0c2015-06-08 08:33:56 +020018void entry_SYSENTER_32(void);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080019void __begin_SYSENTER_singlestep_region(void);
20void __end_SYSENTER_singlestep_region(void);
21#endif
22
23#ifdef CONFIG_IA32_EMULATION
Ingo Molnar4c8cd0c2015-06-08 08:33:56 +020024void entry_SYSENTER_compat(void);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080025void __end_entry_SYSENTER_compat(void);
26void entry_SYSCALL_compat(void);
27void entry_INT80_compat(void);
Juergen Gross5878d5d2017-08-31 19:42:49 +020028#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
29void xen_entry_INT80_compat(void);
30#endif
Andy Lutomirskif2b37572016-03-09 19:00:30 -080031#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
H. Peter Anvin5bd085b2009-11-16 13:55:31 -080033void x86_configure_nx(void);
34void x86_report_nx(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
Linus Torvalds1da177e2005-04-16 15:20:36 -070036extern int reboot_force;
Linus Torvalds1da177e2005-04-16 15:20:36 -070037
Kyle Hueyb0b9b012017-03-20 01:16:23 -070038long do_arch_prctl_common(struct task_struct *task, int option,
39 unsigned long cpuid_enabled);
40
H. Peter Anvin1965aae2008-10-22 22:26:29 -070041#endif /* _ASM_X86_PROTO_H */