^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _ASM_X86_PROTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _ASM_X86_PROTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <asm/ldt.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) struct task_struct;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /* misc architecture specific prototypes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) void syscall_init(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #ifdef CONFIG_X86_64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) void entry_SYSCALL_64(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) void entry_SYSCALL_64_safe_stack(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #ifdef CONFIG_X86_32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) void entry_INT80_32(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) void entry_SYSENTER_32(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) void __begin_SYSENTER_singlestep_region(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) void __end_SYSENTER_singlestep_region(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #ifdef CONFIG_IA32_EMULATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) void entry_SYSENTER_compat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) void __end_entry_SYSENTER_compat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) void entry_SYSCALL_compat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) void entry_SYSCALL_compat_safe_stack(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) void entry_INT80_compat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #ifdef CONFIG_XEN_PV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) void xen_entry_INT80_compat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) void x86_configure_nx(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) void x86_report_nx(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) extern int reboot_force;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) long do_arch_prctl_common(struct task_struct *task, int option,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) unsigned long cpuid_enabled);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #endif /* _ASM_X86_PROTO_H */