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