162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_X86_PROTO_H
362306a36Sopenharmony_ci#define _ASM_X86_PROTO_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <asm/ldt.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct task_struct;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/* misc architecture specific prototypes */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_civoid syscall_init(void);
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#ifdef CONFIG_X86_64
1462306a36Sopenharmony_civoid entry_SYSCALL_64(void);
1562306a36Sopenharmony_civoid entry_SYSCALL_64_safe_stack(void);
1662306a36Sopenharmony_civoid entry_SYSRETQ_unsafe_stack(void);
1762306a36Sopenharmony_civoid entry_SYSRETQ_end(void);
1862306a36Sopenharmony_cilong do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
1962306a36Sopenharmony_ci#endif
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#ifdef CONFIG_X86_32
2262306a36Sopenharmony_civoid entry_INT80_32(void);
2362306a36Sopenharmony_civoid entry_SYSENTER_32(void);
2462306a36Sopenharmony_civoid __begin_SYSENTER_singlestep_region(void);
2562306a36Sopenharmony_civoid __end_SYSENTER_singlestep_region(void);
2662306a36Sopenharmony_ci#endif
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#ifdef CONFIG_IA32_EMULATION
2962306a36Sopenharmony_civoid entry_SYSENTER_compat(void);
3062306a36Sopenharmony_civoid __end_entry_SYSENTER_compat(void);
3162306a36Sopenharmony_civoid entry_SYSCALL_compat(void);
3262306a36Sopenharmony_civoid entry_SYSCALL_compat_safe_stack(void);
3362306a36Sopenharmony_civoid entry_SYSRETL_compat_unsafe_stack(void);
3462306a36Sopenharmony_civoid entry_SYSRETL_compat_end(void);
3562306a36Sopenharmony_ci#endif
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_civoid x86_configure_nx(void);
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciextern int reboot_force;
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_cilong do_arch_prctl_common(int option, unsigned long arg2);
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#endif /* _ASM_X86_PROTO_H */
44