162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * System calls under the Sparc.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Don't be scared by the ugly clobbers, it is the only way I can
662306a36Sopenharmony_ci * think of right now to force the arguments into fixed registers
762306a36Sopenharmony_ci * before the trap into the system call with gcc 'asm' statements.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net)
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * SunOS compatibility based upon preliminary work which is:
1262306a36Sopenharmony_ci *
1362306a36Sopenharmony_ci * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci#ifndef _SPARC_UNISTD_H
1662306a36Sopenharmony_ci#define _SPARC_UNISTD_H
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#include <uapi/asm/unistd.h>
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define NR_syscalls	__NR_syscalls
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#ifdef __32bit_syscall_numbers__
2362306a36Sopenharmony_ci#else
2462306a36Sopenharmony_ci#define __NR_time		231 /* Linux sparc32                               */
2562306a36Sopenharmony_ci#endif
2662306a36Sopenharmony_ci#define __ARCH_WANT_NEW_STAT
2762306a36Sopenharmony_ci#define __ARCH_WANT_OLD_READDIR
2862306a36Sopenharmony_ci#define __ARCH_WANT_STAT64
2962306a36Sopenharmony_ci#define __ARCH_WANT_SYS_ALARM
3062306a36Sopenharmony_ci#define __ARCH_WANT_SYS_GETHOSTNAME
3162306a36Sopenharmony_ci#define __ARCH_WANT_SYS_PAUSE
3262306a36Sopenharmony_ci#define __ARCH_WANT_SYS_SIGNAL
3362306a36Sopenharmony_ci#define __ARCH_WANT_SYS_TIME32
3462306a36Sopenharmony_ci#define __ARCH_WANT_SYS_UTIME32
3562306a36Sopenharmony_ci#define __ARCH_WANT_SYS_WAITPID
3662306a36Sopenharmony_ci#define __ARCH_WANT_SYS_SOCKETCALL
3762306a36Sopenharmony_ci#define __ARCH_WANT_SYS_FADVISE64
3862306a36Sopenharmony_ci#define __ARCH_WANT_SYS_GETPGRP
3962306a36Sopenharmony_ci#define __ARCH_WANT_SYS_NICE
4062306a36Sopenharmony_ci#define __ARCH_WANT_SYS_OLDUMOUNT
4162306a36Sopenharmony_ci#define __ARCH_WANT_SYS_SIGPENDING
4262306a36Sopenharmony_ci#define __ARCH_WANT_SYS_SIGPROCMASK
4362306a36Sopenharmony_ci#ifdef __32bit_syscall_numbers__
4462306a36Sopenharmony_ci#define __ARCH_WANT_SYS_IPC
4562306a36Sopenharmony_ci#else
4662306a36Sopenharmony_ci#define __ARCH_WANT_SYS_TIME
4762306a36Sopenharmony_ci#define __ARCH_WANT_SYS_UTIME
4862306a36Sopenharmony_ci#define __ARCH_WANT_COMPAT_SYS_SENDFILE
4962306a36Sopenharmony_ci#define __ARCH_WANT_COMPAT_STAT
5062306a36Sopenharmony_ci#endif
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci#ifdef __32bit_syscall_numbers__
5362306a36Sopenharmony_ci/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
5462306a36Sopenharmony_ci * it never had the plain ones and there is no value to adding those
5562306a36Sopenharmony_ci * old versions into the syscall table.
5662306a36Sopenharmony_ci */
5762306a36Sopenharmony_ci#define __IGNORE_setresuid
5862306a36Sopenharmony_ci#define __IGNORE_getresuid
5962306a36Sopenharmony_ci#define __IGNORE_setresgid
6062306a36Sopenharmony_ci#define __IGNORE_getresgid
6162306a36Sopenharmony_ci#endif
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci#endif /* _SPARC_UNISTD_H */
64