mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
61257f56ad
NR_syscalls macro holds the number of system call exist in sparc architecture. We have to change the value of NR- _syscalls, if we add or delete a system call. One of the patch in this patch series has a script which will generate a uapi header based on syscall.tbl file. The syscall.tbl file contains the total number of system calls information. So we have two option to update NR_sy- scalls value. 1. Update NR_syscalls in asm/unistd.h manually by count- ing the no.of system calls. No need to update NR_sys- calls until we either add a new system call or delete existing system call. 2. We can keep this feature it above mentioned script, that will count the number of syscalls and keep it in a generated file. In this case we don't need to expli- citly update NR_syscalls in asm/unistd.h file. The 2nd option will be the recommended one. For that, I added the __NR_syscalls macro in uapi/asm/unistd.h along with NR_syscalls asm/unistd.h. The macro __NR_syscalls also added for making the name convention same across all architecture. While __NR_syscalls isn't strictly part of the uapi, having it as part of the generated header to simplifies the implementation. We also need to enclose this macro with #ifdef __KERNEL__ to avoid side effects. Signed-off-by: Firoz Khan <firoz.khan@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
68 lines
1.9 KiB
C
68 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* System calls under the Sparc.
|
|
*
|
|
* Don't be scared by the ugly clobbers, it is the only way I can
|
|
* think of right now to force the arguments into fixed registers
|
|
* before the trap into the system call with gcc 'asm' statements.
|
|
*
|
|
* Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net)
|
|
*
|
|
* SunOS compatibility based upon preliminary work which is:
|
|
*
|
|
* Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
|
|
*/
|
|
#ifndef _SPARC_UNISTD_H
|
|
#define _SPARC_UNISTD_H
|
|
|
|
#include <uapi/asm/unistd.h>
|
|
|
|
#define NR_syscalls __NR_syscalls
|
|
|
|
#ifdef __32bit_syscall_numbers__
|
|
#else
|
|
#define __NR_time 231 /* Linux sparc32 */
|
|
#endif
|
|
#define __ARCH_WANT_NEW_STAT
|
|
#define __ARCH_WANT_OLD_READDIR
|
|
#define __ARCH_WANT_STAT64
|
|
#define __ARCH_WANT_SYS_ALARM
|
|
#define __ARCH_WANT_SYS_GETHOSTNAME
|
|
#define __ARCH_WANT_SYS_PAUSE
|
|
#define __ARCH_WANT_SYS_SIGNAL
|
|
#define __ARCH_WANT_SYS_TIME
|
|
#define __ARCH_WANT_SYS_UTIME
|
|
#define __ARCH_WANT_SYS_WAITPID
|
|
#define __ARCH_WANT_SYS_SOCKETCALL
|
|
#define __ARCH_WANT_SYS_FADVISE64
|
|
#define __ARCH_WANT_SYS_GETPGRP
|
|
#define __ARCH_WANT_SYS_NICE
|
|
#define __ARCH_WANT_SYS_OLDUMOUNT
|
|
#define __ARCH_WANT_SYS_SIGPENDING
|
|
#define __ARCH_WANT_SYS_SIGPROCMASK
|
|
#ifdef __32bit_syscall_numbers__
|
|
#define __ARCH_WANT_SYS_IPC
|
|
#else
|
|
#define __ARCH_WANT_COMPAT_SYS_TIME
|
|
#define __ARCH_WANT_SYS_UTIME32
|
|
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
|
#endif
|
|
|
|
#ifdef __32bit_syscall_numbers__
|
|
/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
|
|
* it never had the plain ones and there is no value to adding those
|
|
* old versions into the syscall table.
|
|
*/
|
|
#define __IGNORE_setresuid
|
|
#define __IGNORE_getresuid
|
|
#define __IGNORE_setresgid
|
|
#define __IGNORE_getresgid
|
|
#endif
|
|
|
|
/* Sparc doesn't have protection keys. */
|
|
#define __IGNORE_pkey_mprotect
|
|
#define __IGNORE_pkey_alloc
|
|
#define __IGNORE_pkey_free
|
|
|
|
#endif /* _SPARC_UNISTD_H */
|