mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
3db80c999d
The uapi/asm/unistd_{32,64}.h and asm/syscall_table_{32,64}.h headers can now be generated from scripts/syscall.tbl, which makes this consistent with the other architectures that have their own syscall.tbl. riscv has two extra system call that gets added to scripts/syscall.tbl. The newstat and rlimit entries in the syscall_abis_64 line are for system calls that were part of the generic ABI when riscv64 got added but are no longer enabled by default for new architectures. Both riscv32 and riscv64 also implement memfd_secret, which is optional for all architectures. Unlike all the other 32-bit architectures, the time32 and stat64 sets of syscalls are not enabled on riscv32. Both the user visible side of asm/unistd.h and the internal syscall table in the kernel should have the same effective contents after this. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
25 lines
687 B
C
25 lines
687 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (C) 2009 Arnd Bergmann <arnd@arndb.de>
|
|
* Copyright (C) 2012 Regents of the University of California
|
|
*/
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/syscalls.h>
|
|
#include <asm-generic/syscalls.h>
|
|
#include <asm/syscall.h>
|
|
|
|
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
|
|
|
|
#undef __SYSCALL
|
|
#define __SYSCALL(nr, call) asmlinkage long __riscv_##call(const struct pt_regs *);
|
|
#include <asm/syscall_table.h>
|
|
|
|
#undef __SYSCALL
|
|
#define __SYSCALL(nr, call) [nr] = __riscv_##call,
|
|
|
|
void * const sys_call_table[__NR_syscalls] = {
|
|
[0 ... __NR_syscalls - 1] = __riscv_sys_ni_syscall,
|
|
#include <asm/syscall_table.h>
|
|
};
|