blob: 8d3964fc5f915c37ec7bf74706446adc8ad2e93b [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_PROTO_H
2#define _ASM_X86_PROTO_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4#include <asm/ldt.h>
5
6/* misc architecture specific prototypes */
7
H. Peter Anvin5bd085b2009-11-16 13:55:31 -08008void syscall_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Andy Lutomirskif2b37572016-03-09 19:00:30 -080010#ifdef CONFIG_X86_64
Ingo Molnarb2502b42015-06-08 08:42:03 +020011void entry_SYSCALL_64(void);
Kyle Huey17a6e1b2017-03-20 01:16:22 -070012long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080013#endif
14
15#ifdef CONFIG_X86_32
Ingo Molnarb2502b42015-06-08 08:42:03 +020016void entry_INT80_32(void);
Ingo Molnar4c8cd0c2015-06-08 08:33:56 +020017void entry_SYSENTER_32(void);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080018void __begin_SYSENTER_singlestep_region(void);
19void __end_SYSENTER_singlestep_region(void);
20#endif
21
22#ifdef CONFIG_IA32_EMULATION
Ingo Molnar4c8cd0c2015-06-08 08:33:56 +020023void entry_SYSENTER_compat(void);
Andy Lutomirskif2b37572016-03-09 19:00:30 -080024void __end_entry_SYSENTER_compat(void);
25void entry_SYSCALL_compat(void);
26void entry_INT80_compat(void);
27#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
H. Peter Anvin5bd085b2009-11-16 13:55:31 -080029void x86_configure_nx(void);
30void x86_report_nx(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
Linus Torvalds1da177e2005-04-16 15:20:36 -070032extern int reboot_force;
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
Kyle Hueyb0b9b012017-03-20 01:16:23 -070034long do_arch_prctl_common(struct task_struct *task, int option,
35 unsigned long cpuid_enabled);
36
H. Peter Anvin1965aae2008-10-22 22:26:29 -070037#endif /* _ASM_X86_PROTO_H */