162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci#ifndef _UAPI_ASM_X86_UNISTD_H
362306a36Sopenharmony_ci#define _UAPI_ASM_X86_UNISTD_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * x32 syscall flag bit.  Some user programs expect syscall NR macros
762306a36Sopenharmony_ci * and __X32_SYSCALL_BIT to have type int, even though syscall numbers
862306a36Sopenharmony_ci * are, for practical purposes, unsigned long.
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci * Fortunately, expressions like (nr & ~__X32_SYSCALL_BIT) do the right
1162306a36Sopenharmony_ci * thing regardless.
1262306a36Sopenharmony_ci */
1362306a36Sopenharmony_ci#define __X32_SYSCALL_BIT	0x40000000
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#ifndef __KERNEL__
1662306a36Sopenharmony_ci# ifdef __i386__
1762306a36Sopenharmony_ci#  include <asm/unistd_32.h>
1862306a36Sopenharmony_ci# elif defined(__ILP32__)
1962306a36Sopenharmony_ci#  include <asm/unistd_x32.h>
2062306a36Sopenharmony_ci# else
2162306a36Sopenharmony_ci#  include <asm/unistd_64.h>
2262306a36Sopenharmony_ci# endif
2362306a36Sopenharmony_ci#endif
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif /* _UAPI_ASM_X86_UNISTD_H */
26