Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 2 | #ifndef _ASM_X86_PROTO_H |
| 3 | #define _ASM_X86_PROTO_H |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | |
| 5 | #include <asm/ldt.h> |
| 6 | |
| 7 | /* misc architecture specific prototypes */ |
| 8 | |
H. Peter Anvin | 5bd085b | 2009-11-16 13:55:31 -0800 | [diff] [blame] | 9 | void syscall_init(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | |
Andy Lutomirski | f2b3757 | 2016-03-09 19:00:30 -0800 | [diff] [blame] | 11 | #ifdef CONFIG_X86_64 |
Ingo Molnar | b2502b4 | 2015-06-08 08:42:03 +0200 | [diff] [blame] | 12 | void entry_SYSCALL_64(void); |
Kyle Huey | 17a6e1b | 2017-03-20 01:16:22 -0700 | [diff] [blame] | 13 | long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2); |
Andy Lutomirski | f2b3757 | 2016-03-09 19:00:30 -0800 | [diff] [blame] | 14 | #endif |
| 15 | |
| 16 | #ifdef CONFIG_X86_32 |
Ingo Molnar | b2502b4 | 2015-06-08 08:42:03 +0200 | [diff] [blame] | 17 | void entry_INT80_32(void); |
Ingo Molnar | 4c8cd0c | 2015-06-08 08:33:56 +0200 | [diff] [blame] | 18 | void entry_SYSENTER_32(void); |
Andy Lutomirski | f2b3757 | 2016-03-09 19:00:30 -0800 | [diff] [blame] | 19 | void __begin_SYSENTER_singlestep_region(void); |
| 20 | void __end_SYSENTER_singlestep_region(void); |
| 21 | #endif |
| 22 | |
| 23 | #ifdef CONFIG_IA32_EMULATION |
Ingo Molnar | 4c8cd0c | 2015-06-08 08:33:56 +0200 | [diff] [blame] | 24 | void entry_SYSENTER_compat(void); |
Andy Lutomirski | f2b3757 | 2016-03-09 19:00:30 -0800 | [diff] [blame] | 25 | void __end_entry_SYSENTER_compat(void); |
| 26 | void entry_SYSCALL_compat(void); |
| 27 | void entry_INT80_compat(void); |
Juergen Gross | 5878d5d | 2017-08-31 19:42:49 +0200 | [diff] [blame] | 28 | #if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV) |
| 29 | void xen_entry_INT80_compat(void); |
| 30 | #endif |
Andy Lutomirski | f2b3757 | 2016-03-09 19:00:30 -0800 | [diff] [blame] | 31 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | |
H. Peter Anvin | 5bd085b | 2009-11-16 13:55:31 -0800 | [diff] [blame] | 33 | void x86_configure_nx(void); |
| 34 | void x86_report_nx(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 35 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | extern int reboot_force; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | |
Kyle Huey | b0b9b01 | 2017-03-20 01:16:23 -0700 | [diff] [blame] | 38 | long do_arch_prctl_common(struct task_struct *task, int option, |
| 39 | unsigned long cpuid_enabled); |
| 40 | |
H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 41 | #endif /* _ASM_X86_PROTO_H */ |