asm-generic updates for 6.11

Most of this is part of my ongoing work to clean up the system call
 tables. In this bit, all of the newer architectures are converted to
 use the machine readable syscall.tbl format instead in place of complex
 macros in include/uapi/asm-generic/unistd.h.
 
 This follows an earlier series that fixed various API mismatches
 and in turn is used as the base for planned simplifications.
 
 The other two patches are dead code removal and a warning fix.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaVB1cACgkQYKtH/8kJ
 UicMqxAAnYKOxfjoMIhYYK6bl126wg/vIcDcjIR9cNWH21Nhn3qxn11ZXau3S7xv
 3l/HreEhyEQr4gC2a70IlXyHUadYOlrk+83OURrunWk1oKPmZlMKcfPVbtp8GL7x
 PUNXQfwM1XZLveKwufY24hoZdwKC+Y/5WLc1t0ReznJuAqgeO2rM9W5dnV5bAfCp
 he3F5hFcr196Dz3/GJjJIWrY+cbwfmZWsNtj1vFTL5/r/LuCu8HTkqhsGj8tE5BJ
 NGVEEXbp5eaVTCIGqJWhnuZcsnKN9kM51M7CtdwWf8OTckUVuJap5OsDVKQkWkGl
 bLPbd2jhDltph0sah51hAIvv4WdkThW76u9FRW7KR3fo7ra67eF7l5j7wc1lE2JB
 GwLJ1X56Bxe1GhvvNTlDmb7DrnlP/DMPuRv3Z6xyH6l8iZ2pMGlnAxuw6Bs1s6Y5
 WSs36ZpnS0ctgjfx37ZITsZSvbKFPpQFJP4siwS8aRNv/NFALNNdFyOCY5lNzspZ
 0dxwjn6/7UpHE4MKh6/hvCg2QwupXXBTRytibw+75/rOsR+EYlmtuONtyq2sLUHe
 ktJ5pg+8XuZm27+wLffuluzmY7sv2F8OU4cTYeM60Ynmc6pRzwUY6/VhG52S1/mU
 Ua4VgYIpzOtlLrYmz5QTWIZpdSFSVbIc/3pLriD6hn4Mvg+BwdA=
 =XOhL
 -----END PGP SIGNATURE-----

Merge tag 'asm-generic-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm-generic updates from Arnd Bergmann:
 "Most of this is part of my ongoing work to clean up the system call
  tables. In this bit, all of the newer architectures are converted to
  use the machine readable syscall.tbl format instead in place of
  complex macros in include/uapi/asm-generic/unistd.h.

  This follows an earlier series that fixed various API mismatches and
  in turn is used as the base for planned simplifications.

  The other two patches are dead code removal and a warning fix"

* tag 'asm-generic-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  vmlinux.lds.h: catch .bss..L* sections into BSS")
  fixmap: Remove unused set_fixmap_offset_io()
  riscv: convert to generic syscall table
  openrisc: convert to generic syscall table
  nios2: convert to generic syscall table
  loongarch: convert to generic syscall table
  hexagon: use new system call table
  csky: convert to generic syscall table
  arm64: rework compat syscall macros
  arm64: generate 64-bit syscall.tbl
  arm64: convert unistd_32.h to syscall.tbl format
  arc: convert to generic syscall table
  clone3: drop __ARCH_WANT_SYS_CLONE3 macro
  kbuild: add syscall table generation to scripts/Makefile.asm-headers
  kbuild: verify asm-generic header list
  loongarch: avoid generating extra header files
  um: don't generate asm/bpf_perf_event.h
  csky: drop asm/gpio.h wrapper
  syscalls: add generic scripts/syscall.tbl
This commit is contained in:
Linus Torvalds 2024-07-16 12:09:03 -07:00
commit d80f2996b8
86 changed files with 1228 additions and 1275 deletions

View file

@ -1219,7 +1219,7 @@ remove-stale-files:
$(Q)$(srctree)/scripts/remove-stale-files
# Support for using generic headers in asm-generic
asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
asm-generic := -f $(srctree)/scripts/Makefile.asm-headers obj
PHONY += asm-generic uapi-asm-generic
asm-generic: uapi-asm-generic

View file

@ -1,4 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
generic-y += extable.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h

View file

@ -0,0 +1,14 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_ARC_UNISTD_H
#define _ASM_ARC_UNISTD_H
#include <uapi/asm/unistd.h>
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_FORK
#define NR_syscalls __NR_syscalls
#endif

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
generic-y += ucontext.h

View file

@ -7,46 +7,4 @@
* published by the Free Software Foundation.
*/
/******** no-legacy-syscalls-ABI *******/
/*
* Non-typical guard macro to enable inclusion twice in ARCH sys.c
* That is how the Generic syscall wrapper generator works
*/
#if !defined(_UAPI_ASM_ARC_UNISTD_H) || defined(__SYSCALL)
#define _UAPI_ASM_ARC_UNISTD_H
#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_TIME32_SYSCALLS
#define sys_mmap2 sys_mmap_pgoff
#include <asm-generic/unistd.h>
#define NR_syscalls __NR_syscalls
/* Generic syscall (fs/filesystems.c - lost in asm-generic/unistd.h */
#define __NR_sysfs (__NR_arch_specific_syscall + 3)
/* ARC specific syscall */
#define __NR_cacheflush (__NR_arch_specific_syscall + 0)
#define __NR_arc_settls (__NR_arch_specific_syscall + 1)
#define __NR_arc_gettls (__NR_arch_specific_syscall + 2)
#define __NR_arc_usr_cmpxchg (__NR_arch_specific_syscall + 4)
__SYSCALL(__NR_cacheflush, sys_cacheflush)
__SYSCALL(__NR_arc_settls, sys_arc_settls)
__SYSCALL(__NR_arc_gettls, sys_arc_gettls)
__SYSCALL(__NR_arc_usr_cmpxchg, sys_arc_usr_cmpxchg)
__SYSCALL(__NR_sysfs, sys_sysfs)
#undef __SYSCALL
#endif
#include <asm/unistd_32.h>

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += arc time32 renameat stat64 rlimit

View file

@ -8,11 +8,12 @@
#define sys_clone sys_clone_wrapper
#define sys_clone3 sys_clone3_wrapper
#define sys_mmap2 sys_mmap_pgoff
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
void *sys_call_table[NR_syscalls] = {
[0 ... NR_syscalls-1] = sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -37,7 +37,6 @@
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
/*
* Unimplemented (or alternatively implemented) syscalls

View file

@ -1,4 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
syscall-y += syscall_table_64.h
# arm32 syscall table used by lib/compat_audit.c:
syscall-y += unistd_32.h
# same constants with prefixes, used by vdso, seccomp and sigreturn:
syscall-y += unistd_compat_32.h
generic-y += early_ioremap.h
generic-y += mcs_spinlock.h
generic-y += qrwlock.h

View file

@ -8,13 +8,13 @@
#ifndef _ASM_SECCOMP_H
#define _ASM_SECCOMP_H
#include <asm/unistd.h>
#include <asm/unistd_compat_32.h>
#ifdef CONFIG_COMPAT
#define __NR_seccomp_read_32 __NR_compat_read
#define __NR_seccomp_write_32 __NR_compat_write
#define __NR_seccomp_exit_32 __NR_compat_exit
#define __NR_seccomp_sigreturn_32 __NR_compat_rt_sigreturn
#define __NR_seccomp_read_32 __NR_compat32_read
#define __NR_seccomp_write_32 __NR_compat32_write
#define __NR_seccomp_exit_32 __NR_compat32_exit
#define __NR_seccomp_sigreturn_32 __NR_compat32_rt_sigreturn
#endif /* CONFIG_COMPAT */
#include <asm-generic/seccomp.h>
@ -23,8 +23,9 @@
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
#define SECCOMP_ARCH_NATIVE_NAME "aarch64"
#ifdef CONFIG_COMPAT
#include <asm/unistd_compat_32.h>
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_ARM
# define SECCOMP_ARCH_COMPAT_NR __NR_compat_syscalls
# define SECCOMP_ARCH_COMPAT_NR __NR_compat32_syscalls
# define SECCOMP_ARCH_COMPAT_NAME "arm"
#endif

View file

@ -16,21 +16,6 @@
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
/*
* Compat syscall numbers used by the AArch64 kernel.
*/
#define __NR_compat_restart_syscall 0
#define __NR_compat_exit 1
#define __NR_compat_read 3
#define __NR_compat_write 4
#define __NR_compat_gettimeofday 78
#define __NR_compat_sigreturn 119
#define __NR_compat_rt_sigreturn 173
#define __NR_compat_clock_gettime 263
#define __NR_compat_clock_getres 264
#define __NR_compat_clock_gettime64 403
#define __NR_compat_clock_getres_time64 406
/*
* The following SVCs are ARM private.
*/
@ -38,14 +23,11 @@
#define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE + 2)
#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5)
#define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800)
#define __NR_compat_syscalls 463
#endif
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_NEW_STAT
#ifndef __COMPAT_SYSCALL_NR
#include <uapi/asm/unistd.h>
#endif
#include <asm/unistd_64.h>
#define NR_syscalls (__NR_syscalls)

View file

@ -1,938 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* AArch32 (compat) system call definitions.
*
* Copyright (C) 2001-2005 Russell King
* Copyright (C) 2012 ARM Ltd.
*/
#ifndef _UAPI__ASM_ARM_UNISTD_H
#define _UAPI__ASM_ARM_UNISTD_H
#ifndef __SYSCALL
#define __SYSCALL(x, y)
#endif
#include <asm/unistd_32.h>
#define __NR_restart_syscall 0
__SYSCALL(__NR_restart_syscall, sys_restart_syscall)
#define __NR_exit 1
__SYSCALL(__NR_exit, sys_exit)
#define __NR_fork 2
__SYSCALL(__NR_fork, sys_fork)
#define __NR_read 3
__SYSCALL(__NR_read, sys_read)
#define __NR_write 4
__SYSCALL(__NR_write, sys_write)
#define __NR_open 5
__SYSCALL(__NR_open, compat_sys_open)
#define __NR_close 6
__SYSCALL(__NR_close, sys_close)
/* 7 was sys_waitpid */
__SYSCALL(7, sys_ni_syscall)
#define __NR_creat 8
__SYSCALL(__NR_creat, sys_creat)
#define __NR_link 9
__SYSCALL(__NR_link, sys_link)
#define __NR_unlink 10
__SYSCALL(__NR_unlink, sys_unlink)
#define __NR_execve 11
__SYSCALL(__NR_execve, compat_sys_execve)
#define __NR_chdir 12
__SYSCALL(__NR_chdir, sys_chdir)
/* 13 was sys_time */
__SYSCALL(13, sys_ni_syscall)
#define __NR_mknod 14
__SYSCALL(__NR_mknod, sys_mknod)
#define __NR_chmod 15
__SYSCALL(__NR_chmod, sys_chmod)
#define __NR_lchown 16
__SYSCALL(__NR_lchown, sys_lchown16)
/* 17 was sys_break */
__SYSCALL(17, sys_ni_syscall)
/* 18 was sys_stat */
__SYSCALL(18, sys_ni_syscall)
#define __NR_lseek 19
__SYSCALL(__NR_lseek, compat_sys_lseek)
#define __NR_getpid 20
__SYSCALL(__NR_getpid, sys_getpid)
#define __NR_mount 21
__SYSCALL(__NR_mount, sys_mount)
/* 22 was sys_umount */
__SYSCALL(22, sys_ni_syscall)
#define __NR_setuid 23
__SYSCALL(__NR_setuid, sys_setuid16)
#define __NR_getuid 24
__SYSCALL(__NR_getuid, sys_getuid16)
/* 25 was sys_stime */
__SYSCALL(25, sys_ni_syscall)
#define __NR_ptrace 26
__SYSCALL(__NR_ptrace, compat_sys_ptrace)
/* 27 was sys_alarm */
__SYSCALL(27, sys_ni_syscall)
/* 28 was sys_fstat */
__SYSCALL(28, sys_ni_syscall)
#define __NR_pause 29
__SYSCALL(__NR_pause, sys_pause)
/* 30 was sys_utime */
__SYSCALL(30, sys_ni_syscall)
/* 31 was sys_stty */
__SYSCALL(31, sys_ni_syscall)
/* 32 was sys_gtty */
__SYSCALL(32, sys_ni_syscall)
#define __NR_access 33
__SYSCALL(__NR_access, sys_access)
#define __NR_nice 34
__SYSCALL(__NR_nice, sys_nice)
/* 35 was sys_ftime */
__SYSCALL(35, sys_ni_syscall)
#define __NR_sync 36
__SYSCALL(__NR_sync, sys_sync)
#define __NR_kill 37
__SYSCALL(__NR_kill, sys_kill)
#define __NR_rename 38
__SYSCALL(__NR_rename, sys_rename)
#define __NR_mkdir 39
__SYSCALL(__NR_mkdir, sys_mkdir)
#define __NR_rmdir 40
__SYSCALL(__NR_rmdir, sys_rmdir)
#define __NR_dup 41
__SYSCALL(__NR_dup, sys_dup)
#define __NR_pipe 42
__SYSCALL(__NR_pipe, sys_pipe)
#define __NR_times 43
__SYSCALL(__NR_times, compat_sys_times)
/* 44 was sys_prof */
__SYSCALL(44, sys_ni_syscall)
#define __NR_brk 45
__SYSCALL(__NR_brk, sys_brk)
#define __NR_setgid 46
__SYSCALL(__NR_setgid, sys_setgid16)
#define __NR_getgid 47
__SYSCALL(__NR_getgid, sys_getgid16)
/* 48 was sys_signal */
__SYSCALL(48, sys_ni_syscall)
#define __NR_geteuid 49
__SYSCALL(__NR_geteuid, sys_geteuid16)
#define __NR_getegid 50
__SYSCALL(__NR_getegid, sys_getegid16)
#define __NR_acct 51
__SYSCALL(__NR_acct, sys_acct)
#define __NR_umount2 52
__SYSCALL(__NR_umount2, sys_umount)
/* 53 was sys_lock */
__SYSCALL(53, sys_ni_syscall)
#define __NR_ioctl 54
__SYSCALL(__NR_ioctl, compat_sys_ioctl)
#define __NR_fcntl 55
__SYSCALL(__NR_fcntl, compat_sys_fcntl)
/* 56 was sys_mpx */
__SYSCALL(56, sys_ni_syscall)
#define __NR_setpgid 57
__SYSCALL(__NR_setpgid, sys_setpgid)
/* 58 was sys_ulimit */
__SYSCALL(58, sys_ni_syscall)
/* 59 was sys_olduname */
__SYSCALL(59, sys_ni_syscall)
#define __NR_umask 60
__SYSCALL(__NR_umask, sys_umask)
#define __NR_chroot 61
__SYSCALL(__NR_chroot, sys_chroot)
#define __NR_ustat 62
__SYSCALL(__NR_ustat, compat_sys_ustat)
#define __NR_dup2 63
__SYSCALL(__NR_dup2, sys_dup2)
#define __NR_getppid 64
__SYSCALL(__NR_getppid, sys_getppid)
#define __NR_getpgrp 65
__SYSCALL(__NR_getpgrp, sys_getpgrp)
#define __NR_setsid 66
__SYSCALL(__NR_setsid, sys_setsid)
#define __NR_sigaction 67
__SYSCALL(__NR_sigaction, compat_sys_sigaction)
/* 68 was sys_sgetmask */
__SYSCALL(68, sys_ni_syscall)
/* 69 was sys_ssetmask */
__SYSCALL(69, sys_ni_syscall)
#define __NR_setreuid 70
__SYSCALL(__NR_setreuid, sys_setreuid16)
#define __NR_setregid 71
__SYSCALL(__NR_setregid, sys_setregid16)
#define __NR_sigsuspend 72
__SYSCALL(__NR_sigsuspend, sys_sigsuspend)
#define __NR_sigpending 73
__SYSCALL(__NR_sigpending, compat_sys_sigpending)
#define __NR_sethostname 74
__SYSCALL(__NR_sethostname, sys_sethostname)
#define __NR_setrlimit 75
__SYSCALL(__NR_setrlimit, compat_sys_setrlimit)
/* 76 was compat_sys_getrlimit */
__SYSCALL(76, sys_ni_syscall)
#define __NR_getrusage 77
__SYSCALL(__NR_getrusage, compat_sys_getrusage)
#define __NR_gettimeofday 78
__SYSCALL(__NR_gettimeofday, compat_sys_gettimeofday)
#define __NR_settimeofday 79
__SYSCALL(__NR_settimeofday, compat_sys_settimeofday)
#define __NR_getgroups 80
__SYSCALL(__NR_getgroups, sys_getgroups16)
#define __NR_setgroups 81
__SYSCALL(__NR_setgroups, sys_setgroups16)
/* 82 was compat_sys_select */
__SYSCALL(82, sys_ni_syscall)
#define __NR_symlink 83
__SYSCALL(__NR_symlink, sys_symlink)
/* 84 was sys_lstat */
__SYSCALL(84, sys_ni_syscall)
#define __NR_readlink 85
__SYSCALL(__NR_readlink, sys_readlink)
#define __NR_uselib 86
__SYSCALL(__NR_uselib, sys_uselib)
#define __NR_swapon 87
__SYSCALL(__NR_swapon, sys_swapon)
#define __NR_reboot 88
__SYSCALL(__NR_reboot, sys_reboot)
/* 89 was sys_readdir */
__SYSCALL(89, sys_ni_syscall)
/* 90 was sys_mmap */
__SYSCALL(90, sys_ni_syscall)
#define __NR_munmap 91
__SYSCALL(__NR_munmap, sys_munmap)
#define __NR_truncate 92
__SYSCALL(__NR_truncate, compat_sys_truncate)
#define __NR_ftruncate 93
__SYSCALL(__NR_ftruncate, compat_sys_ftruncate)
#define __NR_fchmod 94
__SYSCALL(__NR_fchmod, sys_fchmod)
#define __NR_fchown 95
__SYSCALL(__NR_fchown, sys_fchown16)
#define __NR_getpriority 96
__SYSCALL(__NR_getpriority, sys_getpriority)
#define __NR_setpriority 97
__SYSCALL(__NR_setpriority, sys_setpriority)
/* 98 was sys_profil */
__SYSCALL(98, sys_ni_syscall)
#define __NR_statfs 99
__SYSCALL(__NR_statfs, compat_sys_statfs)
#define __NR_fstatfs 100
__SYSCALL(__NR_fstatfs, compat_sys_fstatfs)
/* 101 was sys_ioperm */
__SYSCALL(101, sys_ni_syscall)
/* 102 was sys_socketcall */
__SYSCALL(102, sys_ni_syscall)
#define __NR_syslog 103
__SYSCALL(__NR_syslog, sys_syslog)
#define __NR_setitimer 104
__SYSCALL(__NR_setitimer, compat_sys_setitimer)
#define __NR_getitimer 105
__SYSCALL(__NR_getitimer, compat_sys_getitimer)
#define __NR_stat 106
__SYSCALL(__NR_stat, compat_sys_newstat)
#define __NR_lstat 107
__SYSCALL(__NR_lstat, compat_sys_newlstat)
#define __NR_fstat 108
__SYSCALL(__NR_fstat, compat_sys_newfstat)
/* 109 was sys_uname */
__SYSCALL(109, sys_ni_syscall)
/* 110 was sys_iopl */
__SYSCALL(110, sys_ni_syscall)
#define __NR_vhangup 111
__SYSCALL(__NR_vhangup, sys_vhangup)
/* 112 was sys_idle */
__SYSCALL(112, sys_ni_syscall)
/* 113 was sys_syscall */
__SYSCALL(113, sys_ni_syscall)
#define __NR_wait4 114
__SYSCALL(__NR_wait4, compat_sys_wait4)
#define __NR_swapoff 115
__SYSCALL(__NR_swapoff, sys_swapoff)
#define __NR_sysinfo 116
__SYSCALL(__NR_sysinfo, compat_sys_sysinfo)
/* 117 was sys_ipc */
__SYSCALL(117, sys_ni_syscall)
#define __NR_fsync 118
__SYSCALL(__NR_fsync, sys_fsync)
#define __NR_sigreturn 119
__SYSCALL(__NR_sigreturn, compat_sys_sigreturn)
#define __NR_clone 120
__SYSCALL(__NR_clone, sys_clone)
#define __NR_setdomainname 121
__SYSCALL(__NR_setdomainname, sys_setdomainname)
#define __NR_uname 122
__SYSCALL(__NR_uname, sys_newuname)
/* 123 was sys_modify_ldt */
__SYSCALL(123, sys_ni_syscall)
#define __NR_adjtimex 124
__SYSCALL(__NR_adjtimex, sys_adjtimex_time32)
#define __NR_mprotect 125
__SYSCALL(__NR_mprotect, sys_mprotect)
#define __NR_sigprocmask 126
__SYSCALL(__NR_sigprocmask, compat_sys_sigprocmask)
/* 127 was sys_create_module */
__SYSCALL(127, sys_ni_syscall)
#define __NR_init_module 128
__SYSCALL(__NR_init_module, sys_init_module)
#define __NR_delete_module 129
__SYSCALL(__NR_delete_module, sys_delete_module)
/* 130 was sys_get_kernel_syms */
__SYSCALL(130, sys_ni_syscall)
#define __NR_quotactl 131
__SYSCALL(__NR_quotactl, sys_quotactl)
#define __NR_getpgid 132
__SYSCALL(__NR_getpgid, sys_getpgid)
#define __NR_fchdir 133
__SYSCALL(__NR_fchdir, sys_fchdir)
#define __NR_bdflush 134
__SYSCALL(__NR_bdflush, sys_ni_syscall)
#define __NR_sysfs 135
__SYSCALL(__NR_sysfs, sys_sysfs)
#define __NR_personality 136
__SYSCALL(__NR_personality, sys_personality)
/* 137 was sys_afs_syscall */
__SYSCALL(137, sys_ni_syscall)
#define __NR_setfsuid 138
__SYSCALL(__NR_setfsuid, sys_setfsuid16)
#define __NR_setfsgid 139
__SYSCALL(__NR_setfsgid, sys_setfsgid16)
#define __NR__llseek 140
__SYSCALL(__NR__llseek, sys_llseek)
#define __NR_getdents 141
__SYSCALL(__NR_getdents, compat_sys_getdents)
#define __NR__newselect 142
__SYSCALL(__NR__newselect, compat_sys_select)
#define __NR_flock 143
__SYSCALL(__NR_flock, sys_flock)
#define __NR_msync 144
__SYSCALL(__NR_msync, sys_msync)
#define __NR_readv 145
__SYSCALL(__NR_readv, sys_readv)
#define __NR_writev 146
__SYSCALL(__NR_writev, sys_writev)
#define __NR_getsid 147
__SYSCALL(__NR_getsid, sys_getsid)
#define __NR_fdatasync 148
__SYSCALL(__NR_fdatasync, sys_fdatasync)
/* 149 was sys_sysctl */
__SYSCALL(149, sys_ni_syscall)
#define __NR_mlock 150
__SYSCALL(__NR_mlock, sys_mlock)
#define __NR_munlock 151
__SYSCALL(__NR_munlock, sys_munlock)
#define __NR_mlockall 152
__SYSCALL(__NR_mlockall, sys_mlockall)
#define __NR_munlockall 153
__SYSCALL(__NR_munlockall, sys_munlockall)
#define __NR_sched_setparam 154
__SYSCALL(__NR_sched_setparam, sys_sched_setparam)
#define __NR_sched_getparam 155
__SYSCALL(__NR_sched_getparam, sys_sched_getparam)
#define __NR_sched_setscheduler 156
__SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler)
#define __NR_sched_getscheduler 157
__SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler)
#define __NR_sched_yield 158
__SYSCALL(__NR_sched_yield, sys_sched_yield)
#define __NR_sched_get_priority_max 159
__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
#define __NR_sched_get_priority_min 160
__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
#define __NR_sched_rr_get_interval 161
__SYSCALL(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32)
#define __NR_nanosleep 162
__SYSCALL(__NR_nanosleep, sys_nanosleep_time32)
#define __NR_mremap 163
__SYSCALL(__NR_mremap, sys_mremap)
#define __NR_setresuid 164
__SYSCALL(__NR_setresuid, sys_setresuid16)
#define __NR_getresuid 165
__SYSCALL(__NR_getresuid, sys_getresuid16)
/* 166 was sys_vm86 */
__SYSCALL(166, sys_ni_syscall)
/* 167 was sys_query_module */
__SYSCALL(167, sys_ni_syscall)
#define __NR_poll 168
__SYSCALL(__NR_poll, sys_poll)
#define __NR_nfsservctl 169
__SYSCALL(__NR_nfsservctl, sys_ni_syscall)
#define __NR_setresgid 170
__SYSCALL(__NR_setresgid, sys_setresgid16)
#define __NR_getresgid 171
__SYSCALL(__NR_getresgid, sys_getresgid16)
#define __NR_prctl 172
__SYSCALL(__NR_prctl, sys_prctl)
#define __NR_rt_sigreturn 173
__SYSCALL(__NR_rt_sigreturn, compat_sys_rt_sigreturn)
#define __NR_rt_sigaction 174
__SYSCALL(__NR_rt_sigaction, compat_sys_rt_sigaction)
#define __NR_rt_sigprocmask 175
__SYSCALL(__NR_rt_sigprocmask, compat_sys_rt_sigprocmask)
#define __NR_rt_sigpending 176
__SYSCALL(__NR_rt_sigpending, compat_sys_rt_sigpending)
#define __NR_rt_sigtimedwait 177
__SYSCALL(__NR_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
#define __NR_rt_sigqueueinfo 178
__SYSCALL(__NR_rt_sigqueueinfo, compat_sys_rt_sigqueueinfo)
#define __NR_rt_sigsuspend 179
__SYSCALL(__NR_rt_sigsuspend, compat_sys_rt_sigsuspend)
#define __NR_pread64 180
__SYSCALL(__NR_pread64, compat_sys_aarch32_pread64)
#define __NR_pwrite64 181
__SYSCALL(__NR_pwrite64, compat_sys_aarch32_pwrite64)
#define __NR_chown 182
__SYSCALL(__NR_chown, sys_chown16)
#define __NR_getcwd 183
__SYSCALL(__NR_getcwd, sys_getcwd)
#define __NR_capget 184
__SYSCALL(__NR_capget, sys_capget)
#define __NR_capset 185
__SYSCALL(__NR_capset, sys_capset)
#define __NR_sigaltstack 186
__SYSCALL(__NR_sigaltstack, compat_sys_sigaltstack)
#define __NR_sendfile 187
__SYSCALL(__NR_sendfile, compat_sys_sendfile)
/* 188 reserved */
__SYSCALL(188, sys_ni_syscall)
/* 189 reserved */
__SYSCALL(189, sys_ni_syscall)
#define __NR_vfork 190
__SYSCALL(__NR_vfork, sys_vfork)
#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */
__SYSCALL(__NR_ugetrlimit, compat_sys_getrlimit) /* SuS compliant getrlimit */
#define __NR_mmap2 192
__SYSCALL(__NR_mmap2, compat_sys_aarch32_mmap2)
#define __NR_truncate64 193
__SYSCALL(__NR_truncate64, compat_sys_aarch32_truncate64)
#define __NR_ftruncate64 194
__SYSCALL(__NR_ftruncate64, compat_sys_aarch32_ftruncate64)
#define __NR_stat64 195
__SYSCALL(__NR_stat64, sys_stat64)
#define __NR_lstat64 196
__SYSCALL(__NR_lstat64, sys_lstat64)
#define __NR_fstat64 197
__SYSCALL(__NR_fstat64, sys_fstat64)
#define __NR_lchown32 198
__SYSCALL(__NR_lchown32, sys_lchown)
#define __NR_getuid32 199
__SYSCALL(__NR_getuid32, sys_getuid)
#define __NR_getgid32 200
__SYSCALL(__NR_getgid32, sys_getgid)
#define __NR_geteuid32 201
__SYSCALL(__NR_geteuid32, sys_geteuid)
#define __NR_getegid32 202
__SYSCALL(__NR_getegid32, sys_getegid)
#define __NR_setreuid32 203
__SYSCALL(__NR_setreuid32, sys_setreuid)
#define __NR_setregid32 204
__SYSCALL(__NR_setregid32, sys_setregid)
#define __NR_getgroups32 205
__SYSCALL(__NR_getgroups32, sys_getgroups)
#define __NR_setgroups32 206
__SYSCALL(__NR_setgroups32, sys_setgroups)
#define __NR_fchown32 207
__SYSCALL(__NR_fchown32, sys_fchown)
#define __NR_setresuid32 208
__SYSCALL(__NR_setresuid32, sys_setresuid)
#define __NR_getresuid32 209
__SYSCALL(__NR_getresuid32, sys_getresuid)
#define __NR_setresgid32 210
__SYSCALL(__NR_setresgid32, sys_setresgid)
#define __NR_getresgid32 211
__SYSCALL(__NR_getresgid32, sys_getresgid)
#define __NR_chown32 212
__SYSCALL(__NR_chown32, sys_chown)
#define __NR_setuid32 213
__SYSCALL(__NR_setuid32, sys_setuid)
#define __NR_setgid32 214
__SYSCALL(__NR_setgid32, sys_setgid)
#define __NR_setfsuid32 215
__SYSCALL(__NR_setfsuid32, sys_setfsuid)
#define __NR_setfsgid32 216
__SYSCALL(__NR_setfsgid32, sys_setfsgid)
#define __NR_getdents64 217
__SYSCALL(__NR_getdents64, sys_getdents64)
#define __NR_pivot_root 218
__SYSCALL(__NR_pivot_root, sys_pivot_root)
#define __NR_mincore 219
__SYSCALL(__NR_mincore, sys_mincore)
#define __NR_madvise 220
__SYSCALL(__NR_madvise, sys_madvise)
#define __NR_fcntl64 221
__SYSCALL(__NR_fcntl64, compat_sys_fcntl64)
/* 222 for tux */
__SYSCALL(222, sys_ni_syscall)
/* 223 is unused */
__SYSCALL(223, sys_ni_syscall)
#define __NR_gettid 224
__SYSCALL(__NR_gettid, sys_gettid)
#define __NR_readahead 225
__SYSCALL(__NR_readahead, compat_sys_aarch32_readahead)
#define __NR_setxattr 226
__SYSCALL(__NR_setxattr, sys_setxattr)
#define __NR_lsetxattr 227
__SYSCALL(__NR_lsetxattr, sys_lsetxattr)
#define __NR_fsetxattr 228
__SYSCALL(__NR_fsetxattr, sys_fsetxattr)
#define __NR_getxattr 229
__SYSCALL(__NR_getxattr, sys_getxattr)
#define __NR_lgetxattr 230
__SYSCALL(__NR_lgetxattr, sys_lgetxattr)
#define __NR_fgetxattr 231
__SYSCALL(__NR_fgetxattr, sys_fgetxattr)
#define __NR_listxattr 232
__SYSCALL(__NR_listxattr, sys_listxattr)
#define __NR_llistxattr 233
__SYSCALL(__NR_llistxattr, sys_llistxattr)
#define __NR_flistxattr 234
__SYSCALL(__NR_flistxattr, sys_flistxattr)
#define __NR_removexattr 235
__SYSCALL(__NR_removexattr, sys_removexattr)
#define __NR_lremovexattr 236
__SYSCALL(__NR_lremovexattr, sys_lremovexattr)
#define __NR_fremovexattr 237
__SYSCALL(__NR_fremovexattr, sys_fremovexattr)
#define __NR_tkill 238
__SYSCALL(__NR_tkill, sys_tkill)
#define __NR_sendfile64 239
__SYSCALL(__NR_sendfile64, sys_sendfile64)
#define __NR_futex 240
__SYSCALL(__NR_futex, sys_futex_time32)
#define __NR_sched_setaffinity 241
__SYSCALL(__NR_sched_setaffinity, compat_sys_sched_setaffinity)
#define __NR_sched_getaffinity 242
__SYSCALL(__NR_sched_getaffinity, compat_sys_sched_getaffinity)
#define __NR_io_setup 243
__SYSCALL(__NR_io_setup, compat_sys_io_setup)
#define __NR_io_destroy 244
__SYSCALL(__NR_io_destroy, sys_io_destroy)
#define __NR_io_getevents 245
__SYSCALL(__NR_io_getevents, sys_io_getevents_time32)
#define __NR_io_submit 246
__SYSCALL(__NR_io_submit, compat_sys_io_submit)
#define __NR_io_cancel 247
__SYSCALL(__NR_io_cancel, sys_io_cancel)
#define __NR_exit_group 248
__SYSCALL(__NR_exit_group, sys_exit_group)
/* 249 was lookup_dcookie */
__SYSCALL(249, sys_ni_syscall)
#define __NR_epoll_create 250
__SYSCALL(__NR_epoll_create, sys_epoll_create)
#define __NR_epoll_ctl 251
__SYSCALL(__NR_epoll_ctl, sys_epoll_ctl)
#define __NR_epoll_wait 252
__SYSCALL(__NR_epoll_wait, sys_epoll_wait)
#define __NR_remap_file_pages 253
__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages)
/* 254 for set_thread_area */
__SYSCALL(254, sys_ni_syscall)
/* 255 for get_thread_area */
__SYSCALL(255, sys_ni_syscall)
#define __NR_set_tid_address 256
__SYSCALL(__NR_set_tid_address, sys_set_tid_address)
#define __NR_timer_create 257
__SYSCALL(__NR_timer_create, compat_sys_timer_create)
#define __NR_timer_settime 258
__SYSCALL(__NR_timer_settime, sys_timer_settime32)
#define __NR_timer_gettime 259
__SYSCALL(__NR_timer_gettime, sys_timer_gettime32)
#define __NR_timer_getoverrun 260
__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
#define __NR_timer_delete 261
__SYSCALL(__NR_timer_delete, sys_timer_delete)
#define __NR_clock_settime 262
__SYSCALL(__NR_clock_settime, sys_clock_settime32)
#define __NR_clock_gettime 263
__SYSCALL(__NR_clock_gettime, sys_clock_gettime32)
#define __NR_clock_getres 264
__SYSCALL(__NR_clock_getres, sys_clock_getres_time32)
#define __NR_clock_nanosleep 265
__SYSCALL(__NR_clock_nanosleep, sys_clock_nanosleep_time32)
#define __NR_statfs64 266
__SYSCALL(__NR_statfs64, compat_sys_aarch32_statfs64)
#define __NR_fstatfs64 267
__SYSCALL(__NR_fstatfs64, compat_sys_aarch32_fstatfs64)
#define __NR_tgkill 268
__SYSCALL(__NR_tgkill, sys_tgkill)
#define __NR_utimes 269
__SYSCALL(__NR_utimes, sys_utimes_time32)
#define __NR_arm_fadvise64_64 270
__SYSCALL(__NR_arm_fadvise64_64, compat_sys_aarch32_fadvise64_64)
#define __NR_pciconfig_iobase 271
__SYSCALL(__NR_pciconfig_iobase, sys_pciconfig_iobase)
#define __NR_pciconfig_read 272
__SYSCALL(__NR_pciconfig_read, sys_pciconfig_read)
#define __NR_pciconfig_write 273
__SYSCALL(__NR_pciconfig_write, sys_pciconfig_write)
#define __NR_mq_open 274
__SYSCALL(__NR_mq_open, compat_sys_mq_open)
#define __NR_mq_unlink 275
__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
#define __NR_mq_timedsend 276
__SYSCALL(__NR_mq_timedsend, sys_mq_timedsend_time32)
#define __NR_mq_timedreceive 277
__SYSCALL(__NR_mq_timedreceive, sys_mq_timedreceive_time32)
#define __NR_mq_notify 278
__SYSCALL(__NR_mq_notify, compat_sys_mq_notify)
#define __NR_mq_getsetattr 279
__SYSCALL(__NR_mq_getsetattr, compat_sys_mq_getsetattr)
#define __NR_waitid 280
__SYSCALL(__NR_waitid, compat_sys_waitid)
#define __NR_socket 281
__SYSCALL(__NR_socket, sys_socket)
#define __NR_bind 282
__SYSCALL(__NR_bind, sys_bind)
#define __NR_connect 283
__SYSCALL(__NR_connect, sys_connect)
#define __NR_listen 284
__SYSCALL(__NR_listen, sys_listen)
#define __NR_accept 285
__SYSCALL(__NR_accept, sys_accept)
#define __NR_getsockname 286
__SYSCALL(__NR_getsockname, sys_getsockname)
#define __NR_getpeername 287
__SYSCALL(__NR_getpeername, sys_getpeername)
#define __NR_socketpair 288
__SYSCALL(__NR_socketpair, sys_socketpair)
#define __NR_send 289
__SYSCALL(__NR_send, sys_send)
#define __NR_sendto 290
__SYSCALL(__NR_sendto, sys_sendto)
#define __NR_recv 291
__SYSCALL(__NR_recv, compat_sys_recv)
#define __NR_recvfrom 292
__SYSCALL(__NR_recvfrom, compat_sys_recvfrom)
#define __NR_shutdown 293
__SYSCALL(__NR_shutdown, sys_shutdown)
#define __NR_setsockopt 294
__SYSCALL(__NR_setsockopt, sys_setsockopt)
#define __NR_getsockopt 295
__SYSCALL(__NR_getsockopt, sys_getsockopt)
#define __NR_sendmsg 296
__SYSCALL(__NR_sendmsg, compat_sys_sendmsg)
#define __NR_recvmsg 297
__SYSCALL(__NR_recvmsg, compat_sys_recvmsg)
#define __NR_semop 298
__SYSCALL(__NR_semop, sys_semop)
#define __NR_semget 299
__SYSCALL(__NR_semget, sys_semget)
#define __NR_semctl 300
__SYSCALL(__NR_semctl, compat_sys_old_semctl)
#define __NR_msgsnd 301
__SYSCALL(__NR_msgsnd, compat_sys_msgsnd)
#define __NR_msgrcv 302
__SYSCALL(__NR_msgrcv, compat_sys_msgrcv)
#define __NR_msgget 303
__SYSCALL(__NR_msgget, sys_msgget)
#define __NR_msgctl 304
__SYSCALL(__NR_msgctl, compat_sys_old_msgctl)
#define __NR_shmat 305
__SYSCALL(__NR_shmat, compat_sys_shmat)
#define __NR_shmdt 306
__SYSCALL(__NR_shmdt, sys_shmdt)
#define __NR_shmget 307
__SYSCALL(__NR_shmget, sys_shmget)
#define __NR_shmctl 308
__SYSCALL(__NR_shmctl, compat_sys_old_shmctl)
#define __NR_add_key 309
__SYSCALL(__NR_add_key, sys_add_key)
#define __NR_request_key 310
__SYSCALL(__NR_request_key, sys_request_key)
#define __NR_keyctl 311
__SYSCALL(__NR_keyctl, compat_sys_keyctl)
#define __NR_semtimedop 312
__SYSCALL(__NR_semtimedop, sys_semtimedop_time32)
#define __NR_vserver 313
__SYSCALL(__NR_vserver, sys_ni_syscall)
#define __NR_ioprio_set 314
__SYSCALL(__NR_ioprio_set, sys_ioprio_set)
#define __NR_ioprio_get 315
__SYSCALL(__NR_ioprio_get, sys_ioprio_get)
#define __NR_inotify_init 316
__SYSCALL(__NR_inotify_init, sys_inotify_init)
#define __NR_inotify_add_watch 317
__SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch)
#define __NR_inotify_rm_watch 318
__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch)
#define __NR_mbind 319
__SYSCALL(__NR_mbind, sys_mbind)
#define __NR_get_mempolicy 320
__SYSCALL(__NR_get_mempolicy, sys_get_mempolicy)
#define __NR_set_mempolicy 321
__SYSCALL(__NR_set_mempolicy, sys_set_mempolicy)
#define __NR_openat 322
__SYSCALL(__NR_openat, compat_sys_openat)
#define __NR_mkdirat 323
__SYSCALL(__NR_mkdirat, sys_mkdirat)
#define __NR_mknodat 324
__SYSCALL(__NR_mknodat, sys_mknodat)
#define __NR_fchownat 325
__SYSCALL(__NR_fchownat, sys_fchownat)
#define __NR_futimesat 326
__SYSCALL(__NR_futimesat, sys_futimesat_time32)
#define __NR_fstatat64 327
__SYSCALL(__NR_fstatat64, sys_fstatat64)
#define __NR_unlinkat 328
__SYSCALL(__NR_unlinkat, sys_unlinkat)
#define __NR_renameat 329
__SYSCALL(__NR_renameat, sys_renameat)
#define __NR_linkat 330
__SYSCALL(__NR_linkat, sys_linkat)
#define __NR_symlinkat 331
__SYSCALL(__NR_symlinkat, sys_symlinkat)
#define __NR_readlinkat 332
__SYSCALL(__NR_readlinkat, sys_readlinkat)
#define __NR_fchmodat 333
__SYSCALL(__NR_fchmodat, sys_fchmodat)
#define __NR_faccessat 334
__SYSCALL(__NR_faccessat, sys_faccessat)
#define __NR_pselect6 335
__SYSCALL(__NR_pselect6, compat_sys_pselect6_time32)
#define __NR_ppoll 336
__SYSCALL(__NR_ppoll, compat_sys_ppoll_time32)
#define __NR_unshare 337
__SYSCALL(__NR_unshare, sys_unshare)
#define __NR_set_robust_list 338
__SYSCALL(__NR_set_robust_list, compat_sys_set_robust_list)
#define __NR_get_robust_list 339
__SYSCALL(__NR_get_robust_list, compat_sys_get_robust_list)
#define __NR_splice 340
__SYSCALL(__NR_splice, sys_splice)
#define __NR_sync_file_range2 341
__SYSCALL(__NR_sync_file_range2, compat_sys_aarch32_sync_file_range2)
#define __NR_tee 342
__SYSCALL(__NR_tee, sys_tee)
#define __NR_vmsplice 343
__SYSCALL(__NR_vmsplice, sys_vmsplice)
#define __NR_move_pages 344
__SYSCALL(__NR_move_pages, sys_move_pages)
#define __NR_getcpu 345
__SYSCALL(__NR_getcpu, sys_getcpu)
#define __NR_epoll_pwait 346
__SYSCALL(__NR_epoll_pwait, compat_sys_epoll_pwait)
#define __NR_kexec_load 347
__SYSCALL(__NR_kexec_load, compat_sys_kexec_load)
#define __NR_utimensat 348
__SYSCALL(__NR_utimensat, sys_utimensat_time32)
#define __NR_signalfd 349
__SYSCALL(__NR_signalfd, compat_sys_signalfd)
#define __NR_timerfd_create 350
__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
#define __NR_eventfd 351
__SYSCALL(__NR_eventfd, sys_eventfd)
#define __NR_fallocate 352
__SYSCALL(__NR_fallocate, compat_sys_aarch32_fallocate)
#define __NR_timerfd_settime 353
__SYSCALL(__NR_timerfd_settime, sys_timerfd_settime32)
#define __NR_timerfd_gettime 354
__SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime32)
#define __NR_signalfd4 355
__SYSCALL(__NR_signalfd4, compat_sys_signalfd4)
#define __NR_eventfd2 356
__SYSCALL(__NR_eventfd2, sys_eventfd2)
#define __NR_epoll_create1 357
__SYSCALL(__NR_epoll_create1, sys_epoll_create1)
#define __NR_dup3 358
__SYSCALL(__NR_dup3, sys_dup3)
#define __NR_pipe2 359
__SYSCALL(__NR_pipe2, sys_pipe2)
#define __NR_inotify_init1 360
__SYSCALL(__NR_inotify_init1, sys_inotify_init1)
#define __NR_preadv 361
__SYSCALL(__NR_preadv, compat_sys_preadv)
#define __NR_pwritev 362
__SYSCALL(__NR_pwritev, compat_sys_pwritev)
#define __NR_rt_tgsigqueueinfo 363
__SYSCALL(__NR_rt_tgsigqueueinfo, compat_sys_rt_tgsigqueueinfo)
#define __NR_perf_event_open 364
__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
#define __NR_recvmmsg 365
__SYSCALL(__NR_recvmmsg, compat_sys_recvmmsg_time32)
#define __NR_accept4 366
__SYSCALL(__NR_accept4, sys_accept4)
#define __NR_fanotify_init 367
__SYSCALL(__NR_fanotify_init, sys_fanotify_init)
#define __NR_fanotify_mark 368
__SYSCALL(__NR_fanotify_mark, compat_sys_fanotify_mark)
#define __NR_prlimit64 369
__SYSCALL(__NR_prlimit64, sys_prlimit64)
#define __NR_name_to_handle_at 370
__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
#define __NR_open_by_handle_at 371
__SYSCALL(__NR_open_by_handle_at, compat_sys_open_by_handle_at)
#define __NR_clock_adjtime 372
__SYSCALL(__NR_clock_adjtime, sys_clock_adjtime32)
#define __NR_syncfs 373
__SYSCALL(__NR_syncfs, sys_syncfs)
#define __NR_sendmmsg 374
__SYSCALL(__NR_sendmmsg, compat_sys_sendmmsg)
#define __NR_setns 375
__SYSCALL(__NR_setns, sys_setns)
#define __NR_process_vm_readv 376
__SYSCALL(__NR_process_vm_readv, sys_process_vm_readv)
#define __NR_process_vm_writev 377
__SYSCALL(__NR_process_vm_writev, sys_process_vm_writev)
#define __NR_kcmp 378
__SYSCALL(__NR_kcmp, sys_kcmp)
#define __NR_finit_module 379
__SYSCALL(__NR_finit_module, sys_finit_module)
#define __NR_sched_setattr 380
__SYSCALL(__NR_sched_setattr, sys_sched_setattr)
#define __NR_sched_getattr 381
__SYSCALL(__NR_sched_getattr, sys_sched_getattr)
#define __NR_renameat2 382
__SYSCALL(__NR_renameat2, sys_renameat2)
#define __NR_seccomp 383
__SYSCALL(__NR_seccomp, sys_seccomp)
#define __NR_getrandom 384
__SYSCALL(__NR_getrandom, sys_getrandom)
#define __NR_memfd_create 385
__SYSCALL(__NR_memfd_create, sys_memfd_create)
#define __NR_bpf 386
__SYSCALL(__NR_bpf, sys_bpf)
#define __NR_execveat 387
__SYSCALL(__NR_execveat, compat_sys_execveat)
#define __NR_userfaultfd 388
__SYSCALL(__NR_userfaultfd, sys_userfaultfd)
#define __NR_membarrier 389
__SYSCALL(__NR_membarrier, sys_membarrier)
#define __NR_mlock2 390
__SYSCALL(__NR_mlock2, sys_mlock2)
#define __NR_copy_file_range 391
__SYSCALL(__NR_copy_file_range, sys_copy_file_range)
#define __NR_preadv2 392
__SYSCALL(__NR_preadv2, compat_sys_preadv2)
#define __NR_pwritev2 393
__SYSCALL(__NR_pwritev2, compat_sys_pwritev2)
#define __NR_pkey_mprotect 394
__SYSCALL(__NR_pkey_mprotect, sys_pkey_mprotect)
#define __NR_pkey_alloc 395
__SYSCALL(__NR_pkey_alloc, sys_pkey_alloc)
#define __NR_pkey_free 396
__SYSCALL(__NR_pkey_free, sys_pkey_free)
#define __NR_statx 397
__SYSCALL(__NR_statx, sys_statx)
#define __NR_rseq 398
__SYSCALL(__NR_rseq, sys_rseq)
#define __NR_io_pgetevents 399
__SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents)
#define __NR_migrate_pages 400
__SYSCALL(__NR_migrate_pages, sys_migrate_pages)
#define __NR_kexec_file_load 401
__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
/* 402 is unused */
#define __NR_clock_gettime64 403
__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
#define __NR_clock_settime64 404
__SYSCALL(__NR_clock_settime64, sys_clock_settime)
#define __NR_clock_adjtime64 405
__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
#define __NR_clock_getres_time64 406
__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
#define __NR_clock_nanosleep_time64 407
__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
#define __NR_timer_gettime64 408
__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
#define __NR_timer_settime64 409
__SYSCALL(__NR_timer_settime64, sys_timer_settime)
#define __NR_timerfd_gettime64 410
__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
#define __NR_timerfd_settime64 411
__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
#define __NR_utimensat_time64 412
__SYSCALL(__NR_utimensat_time64, sys_utimensat)
#define __NR_pselect6_time64 413
__SYSCALL(__NR_pselect6_time64, compat_sys_pselect6_time64)
#define __NR_ppoll_time64 414
__SYSCALL(__NR_ppoll_time64, compat_sys_ppoll_time64)
#define __NR_io_pgetevents_time64 416
__SYSCALL(__NR_io_pgetevents_time64, compat_sys_io_pgetevents_time64)
#define __NR_recvmmsg_time64 417
__SYSCALL(__NR_recvmmsg_time64, compat_sys_recvmmsg_time64)
#define __NR_mq_timedsend_time64 418
__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
#define __NR_mq_timedreceive_time64 419
__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
#define __NR_semtimedop_time64 420
__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
#define __NR_rt_sigtimedwait_time64 421
__SYSCALL(__NR_rt_sigtimedwait_time64, compat_sys_rt_sigtimedwait_time64)
#define __NR_futex_time64 422
__SYSCALL(__NR_futex_time64, sys_futex)
#define __NR_sched_rr_get_interval_time64 423
__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
#define __NR_pidfd_send_signal 424
__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
#define __NR_io_uring_setup 425
__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
#define __NR_io_uring_enter 426
__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
#define __NR_io_uring_register 427
__SYSCALL(__NR_io_uring_register, sys_io_uring_register)
#define __NR_open_tree 428
__SYSCALL(__NR_open_tree, sys_open_tree)
#define __NR_move_mount 429
__SYSCALL(__NR_move_mount, sys_move_mount)
#define __NR_fsopen 430
__SYSCALL(__NR_fsopen, sys_fsopen)
#define __NR_fsconfig 431
__SYSCALL(__NR_fsconfig, sys_fsconfig)
#define __NR_fsmount 432
__SYSCALL(__NR_fsmount, sys_fsmount)
#define __NR_fspick 433
__SYSCALL(__NR_fspick, sys_fspick)
#define __NR_pidfd_open 434
__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
#define __NR_clone3 435
__SYSCALL(__NR_clone3, sys_clone3)
#define __NR_close_range 436
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_openat2 437
__SYSCALL(__NR_openat2, sys_openat2)
#define __NR_pidfd_getfd 438
__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
#define __NR_faccessat2 439
__SYSCALL(__NR_faccessat2, sys_faccessat2)
#define __NR_process_madvise 440
__SYSCALL(__NR_process_madvise, sys_process_madvise)
#define __NR_epoll_pwait2 441
__SYSCALL(__NR_epoll_pwait2, compat_sys_epoll_pwait2)
#define __NR_mount_setattr 442
__SYSCALL(__NR_mount_setattr, sys_mount_setattr)
#define __NR_quotactl_fd 443
__SYSCALL(__NR_quotactl_fd, sys_quotactl_fd)
#define __NR_landlock_create_ruleset 444
__SYSCALL(__NR_landlock_create_ruleset, sys_landlock_create_ruleset)
#define __NR_landlock_add_rule 445
__SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule)
#define __NR_landlock_restrict_self 446
__SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
#define __NR_process_mrelease 448
__SYSCALL(__NR_process_mrelease, sys_process_mrelease)
#define __NR_futex_waitv 449
__SYSCALL(__NR_futex_waitv, sys_futex_waitv)
#define __NR_set_mempolicy_home_node 450
__SYSCALL(__NR_set_mempolicy_home_node, sys_set_mempolicy_home_node)
#define __NR_cachestat 451
__SYSCALL(__NR_cachestat, sys_cachestat)
#define __NR_fchmodat2 452
__SYSCALL(__NR_fchmodat2, sys_fchmodat2)
#define __NR_map_shadow_stack 453
__SYSCALL(__NR_map_shadow_stack, sys_map_shadow_stack)
#define __NR_futex_wake 454
__SYSCALL(__NR_futex_wake, sys_futex_wake)
#define __NR_futex_wait 455
__SYSCALL(__NR_futex_wait, sys_futex_wait)
#define __NR_futex_requeue 456
__SYSCALL(__NR_futex_requeue, sys_futex_requeue)
#define __NR_statmount 457
__SYSCALL(__NR_statmount, sys_statmount)
#define __NR_listmount 458
__SYSCALL(__NR_listmount, sys_listmount)
#define __NR_lsm_get_self_attr 459
__SYSCALL(__NR_lsm_get_self_attr, sys_lsm_get_self_attr)
#define __NR_lsm_set_self_attr 460
__SYSCALL(__NR_lsm_set_self_attr, sys_lsm_set_self_attr)
#define __NR_lsm_list_modules 461
__SYSCALL(__NR_lsm_list_modules, sys_lsm_list_modules)
#define __NR_mseal 462
__SYSCALL(__NR_mseal, sys_mseal)
#define __NR_sync_file_range2 __NR_arm_sync_file_range
/*
* Please add new compat syscalls above this comment and update
* __NR_compat_syscalls in asm/unistd.h.
*/
#endif /* _UAPI__ASM_ARM_UNISTD_H */

View file

@ -8,7 +8,7 @@
#ifndef __ASSEMBLY__
#include <asm/barrier.h>
#include <asm/unistd.h>
#include <asm/unistd_compat_32.h>
#include <asm/errno.h>
#include <asm/vdso/compat_barrier.h>
@ -24,7 +24,7 @@ int gettimeofday_fallback(struct __kernel_old_timeval *_tv,
register struct timezone *tz asm("r1") = _tz;
register struct __kernel_old_timeval *tv asm("r0") = _tv;
register long ret asm ("r0");
register long nr asm("r7") = __NR_compat_gettimeofday;
register long nr asm("r7") = __NR_compat32_gettimeofday;
asm volatile(
" swi #0\n"
@ -41,7 +41,7 @@ long clock_gettime_fallback(clockid_t _clkid, struct __kernel_timespec *_ts)
register struct __kernel_timespec *ts asm("r1") = _ts;
register clockid_t clkid asm("r0") = _clkid;
register long ret asm ("r0");
register long nr asm("r7") = __NR_compat_clock_gettime64;
register long nr asm("r7") = __NR_compat32_clock_gettime64;
asm volatile(
" swi #0\n"
@ -58,7 +58,7 @@ long clock_gettime32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
register struct old_timespec32 *ts asm("r1") = _ts;
register clockid_t clkid asm("r0") = _clkid;
register long ret asm ("r0");
register long nr asm("r7") = __NR_compat_clock_gettime;
register long nr asm("r7") = __NR_compat32_clock_gettime;
asm volatile(
" swi #0\n"
@ -75,7 +75,7 @@ int clock_getres_fallback(clockid_t _clkid, struct __kernel_timespec *_ts)
register struct __kernel_timespec *ts asm("r1") = _ts;
register clockid_t clkid asm("r0") = _clkid;
register long ret asm ("r0");
register long nr asm("r7") = __NR_compat_clock_getres_time64;
register long nr asm("r7") = __NR_compat32_clock_getres_time64;
asm volatile(
" swi #0\n"
@ -92,7 +92,7 @@ int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
register struct old_timespec32 *ts asm("r1") = _ts;
register clockid_t clkid asm("r0") = _clkid;
register long ret asm ("r0");
register long nr asm("r7") = __NR_compat_clock_getres;
register long nr asm("r7") = __NR_compat32_clock_getres;
asm volatile(
" swi #0\n"

View file

@ -1,3 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_64.h
generic-y += kvm_para.h

View file

@ -1,25 +1,2 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* Copyright (C) 2012 ARM Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_TIME32_SYSCALLS
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_MEMFD_SECRET
#include <asm-generic/unistd.h>
#include <asm/unistd_64.h>

View file

@ -0,0 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 +=
syscall_abis_64 += renameat newstat rlimit memfd_secret
syscalltbl = arch/arm64/tools/syscall_%.tbl

View file

@ -17,7 +17,7 @@
#include <asm/signal32.h>
#include <asm/traps.h>
#include <linux/uaccess.h>
#include <asm/unistd.h>
#include <asm/unistd_compat_32.h>
#include <asm/vdso.h>
struct compat_vfp_sigframe {
@ -451,7 +451,7 @@ int compat_setup_frame(int usig, struct ksignal *ksig, sigset_t *set,
void compat_setup_restart_syscall(struct pt_regs *regs)
{
regs->regs[7] = __NR_compat_restart_syscall;
regs->regs[7] = __NR_compat32_restart_syscall;
}
/*

View file

@ -13,7 +13,7 @@
* need two 16-bit instructions.
*/
#include <asm/unistd.h>
#include <asm/unistd_compat_32.h>
.section .rodata
.globl __aarch32_sigret_code_start
@ -22,26 +22,26 @@ __aarch32_sigret_code_start:
/*
* ARM Code
*/
.byte __NR_compat_sigreturn, 0x70, 0xa0, 0xe3 // mov r7, #__NR_compat_sigreturn
.byte __NR_compat_sigreturn, 0x00, 0x00, 0xef // svc #__NR_compat_sigreturn
.byte __NR_compat32_sigreturn, 0x70, 0xa0, 0xe3 // mov r7, #__NR_compat32_sigreturn
.byte __NR_compat32_sigreturn, 0x00, 0x00, 0xef // svc #__NR_compat32_sigreturn
/*
* Thumb code
*/
.byte __NR_compat_sigreturn, 0x27 // svc #__NR_compat_sigreturn
.byte __NR_compat_sigreturn, 0xdf // mov r7, #__NR_compat_sigreturn
.byte __NR_compat32_sigreturn, 0x27 // svc #__NR_compat32_sigreturn
.byte __NR_compat32_sigreturn, 0xdf // mov r7, #__NR_compat32_sigreturn
/*
* ARM code
*/
.byte __NR_compat_rt_sigreturn, 0x70, 0xa0, 0xe3 // mov r7, #__NR_compat_rt_sigreturn
.byte __NR_compat_rt_sigreturn, 0x00, 0x00, 0xef // svc #__NR_compat_rt_sigreturn
.byte __NR_compat32_rt_sigreturn, 0x70, 0xa0, 0xe3 // mov r7, #__NR_compat32_rt_sigreturn
.byte __NR_compat32_rt_sigreturn, 0x00, 0x00, 0xef // svc #__NR_compat32_rt_sigreturn
/*
* Thumb code
*/
.byte __NR_compat_rt_sigreturn, 0x27 // svc #__NR_compat_rt_sigreturn
.byte __NR_compat_rt_sigreturn, 0xdf // mov r7, #__NR_compat_rt_sigreturn
.byte __NR_compat32_rt_sigreturn, 0x27 // svc #__NR_compat32_rt_sigreturn
.byte __NR_compat32_rt_sigreturn, 0xdf // mov r7, #__NR_compat32_rt_sigreturn
.globl __aarch32_sigret_code_end
__aarch32_sigret_code_end:

View file

@ -48,14 +48,16 @@ asmlinkage long __arm64_sys_ni_syscall(const struct pt_regs *__unused)
*/
#define __arm64_sys_personality __arm64_sys_arm64_personality
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#undef __SYSCALL
#define __SYSCALL(nr, sym) asmlinkage long __arm64_##sym(const struct pt_regs *);
#include <asm/unistd.h>
#include <asm/syscall_table_64.h>
#undef __SYSCALL
#define __SYSCALL(nr, sym) [nr] = __arm64_##sym,
const syscall_fn_t sys_call_table[__NR_syscalls] = {
[0 ... __NR_syscalls - 1] = __arm64_sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_64.h>
};

View file

@ -5,17 +5,12 @@
* Copyright (C) 2015 ARM Ltd.
*/
/*
* Needed to avoid conflicting __NR_* macros between uapi/asm/unistd.h and
* asm/unistd32.h.
*/
#define __COMPAT_SYSCALL_NR
#include <linux/compat.h>
#include <linux/compiler.h>
#include <linux/syscalls.h>
#include <asm/syscall.h>
#include <asm/unistd_compat_32.h>
asmlinkage long compat_sys_sigreturn(void);
asmlinkage long compat_sys_rt_sigreturn(void);
@ -122,14 +117,16 @@ COMPAT_SYSCALL_DEFINE6(aarch32_fallocate, int, fd, int, mode,
return ksys_fallocate(fd, mode, arg_u64(offset), arg_u64(len));
}
#define __SYSCALL_WITH_COMPAT(nr, sym, compat) __SYSCALL(nr, compat)
#undef __SYSCALL
#define __SYSCALL(nr, sym) asmlinkage long __arm64_##sym(const struct pt_regs *);
#include <asm/unistd32.h>
#include <asm/syscall_table_32.h>
#undef __SYSCALL
#define __SYSCALL(nr, sym) [nr] = __arm64_##sym,
const syscall_fn_t compat_sys_call_table[__NR_compat_syscalls] = {
[0 ... __NR_compat_syscalls - 1] = __arm64_sys_ni_syscall,
#include <asm/unistd32.h>
const syscall_fn_t compat_sys_call_table[__NR_compat32_syscalls] = {
[0 ... __NR_compat32_syscalls - 1] = __arm64_sys_ni_syscall,
#include <asm/syscall_table_32.h>
};

View file

@ -14,6 +14,7 @@
#include <asm/syscall.h>
#include <asm/thread_info.h>
#include <asm/unistd.h>
#include <asm/unistd_compat_32.h>
long compat_arm_syscall(struct pt_regs *regs, int scno);
long sys_ni_syscall(void);
@ -153,7 +154,7 @@ void do_el0_svc(struct pt_regs *regs)
#ifdef CONFIG_COMPAT
void do_el0_svc_compat(struct pt_regs *regs)
{
el0_svc_common(regs, regs->regs[7], __NR_compat_syscalls,
el0_svc_common(regs, regs->regs[7], __NR_compat32_syscalls,
compat_sys_call_table);
}
#endif

View file

@ -3,12 +3,16 @@
gen := arch/$(ARCH)/include/generated
kapi := $(gen)/asm
kapi-hdrs-y := $(kapi)/cpucap-defs.h $(kapi)/sysreg-defs.h
kapisyshdr-y := cpucap-defs.h sysreg-defs.h
kapi-hdrs-y := $(addprefix $(kapi)/, $(kapisyshdr-y))
targets += $(addprefix ../../../, $(kapi-hdrs-y))
PHONY += kapi
all: $(syscall64) kapi
kapi: $(kapi-hdrs-y)
quiet_cmd_gen_cpucaps = GEN $@

View file

@ -0,0 +1,476 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# AArch32 (compat) system call definitions.
#
# Copyright (C) 2001-2005 Russell King
# Copyright (C) 2012 ARM Ltd.
#
# This file corresponds to arch/arm/tools/syscall.tbl
# for the native EABI syscalls and should be kept in sync
# Instead of the OABI syscalls, it contains pointers to
# the compat entry points where they differ from the native
# syscalls.
#
0 common restart_syscall sys_restart_syscall
1 common exit sys_exit
2 common fork sys_fork
3 common read sys_read
4 common write sys_write
5 common open sys_open compat_sys_open
6 common close sys_close
# 7 was sys_waitpid
8 common creat sys_creat
9 common link sys_link
10 common unlink sys_unlink
11 common execve sys_execve compat_sys_execve
12 common chdir sys_chdir
# 13 was sys_time
14 common mknod sys_mknod
15 common chmod sys_chmod
16 common lchown sys_lchown16
# 17 was sys_break
# 18 was sys_stat
19 common lseek sys_lseek compat_sys_lseek
20 common getpid sys_getpid
21 common mount sys_mount
# 22 was sys_umount
23 common setuid sys_setuid16
24 common getuid sys_getuid16
# 25 was sys_stime
26 common ptrace sys_ptrace compat_sys_ptrace
# 27 was sys_alarm
# 28 was sys_fstat
29 common pause sys_pause
# 30 was sys_utime
# 31 was sys_stty
# 32 was sys_gtty
33 common access sys_access
34 common nice sys_nice
# 35 was sys_ftime
36 common sync sys_sync
37 common kill sys_kill
38 common rename sys_rename
39 common mkdir sys_mkdir
40 common rmdir sys_rmdir
41 common dup sys_dup
42 common pipe sys_pipe
43 common times sys_times compat_sys_times
# 44 was sys_prof
45 common brk sys_brk
46 common setgid sys_setgid16
47 common getgid sys_getgid16
# 48 was sys_signal
49 common geteuid sys_geteuid16
50 common getegid sys_getegid16
51 common acct sys_acct
52 common umount2 sys_umount
# 53 was sys_lock
54 common ioctl sys_ioctl compat_sys_ioctl
55 common fcntl sys_fcntl compat_sys_fcntl
# 56 was sys_mpx
57 common setpgid sys_setpgid
# 58 was sys_ulimit
# 59 was sys_olduname
60 common umask sys_umask
61 common chroot sys_chroot
62 common ustat sys_ustat compat_sys_ustat
63 common dup2 sys_dup2
64 common getppid sys_getppid
65 common getpgrp sys_getpgrp
66 common setsid sys_setsid
67 common sigaction sys_sigaction compat_sys_sigaction
# 68 was sys_sgetmask
# 69 was sys_ssetmask
70 common setreuid sys_setreuid16
71 common setregid sys_setregid16
72 common sigsuspend sys_sigsuspend
73 common sigpending sys_sigpending compat_sys_sigpending
74 common sethostname sys_sethostname
75 common setrlimit sys_setrlimit compat_sys_setrlimit
# 76 was compat_sys_getrlimit
77 common getrusage sys_getrusage compat_sys_getrusage
78 common gettimeofday sys_gettimeofday compat_sys_gettimeofday
79 common settimeofday sys_settimeofday compat_sys_settimeofday
80 common getgroups sys_getgroups16
81 common setgroups sys_setgroups16
# 82 was compat_sys_select
83 common symlink sys_symlink
# 84 was sys_lstat
85 common readlink sys_readlink
86 common uselib sys_uselib
87 common swapon sys_swapon
88 common reboot sys_reboot
# 89 was sys_readdir
# 90 was sys_mmap
91 common munmap sys_munmap
92 common truncate sys_truncate compat_sys_truncate
93 common ftruncate sys_ftruncate compat_sys_ftruncate
94 common fchmod sys_fchmod
95 common fchown sys_fchown16
96 common getpriority sys_getpriority
97 common setpriority sys_setpriority
# 98 was sys_profil
99 common statfs sys_statfs compat_sys_statfs
100 common fstatfs sys_fstatfs compat_sys_fstatfs
# 101 was sys_ioperm
# 102 was sys_socketcall
103 common syslog sys_syslog
104 common setitimer sys_setitimer compat_sys_setitimer
105 common getitimer sys_getitimer compat_sys_getitimer
106 common stat sys_newstat compat_sys_newstat
107 common lstat sys_newlstat compat_sys_newlstat
108 common fstat sys_newfstat compat_sys_newfstat
# 109 was sys_uname
# 110 was sys_iopl
111 common vhangup sys_vhangup
# 112 was sys_idle
# 113 was sys_syscall
114 common wait4 sys_wait4 compat_sys_wait4
115 common swapoff sys_swapoff
116 common sysinfo sys_sysinfo compat_sys_sysinfo
# 117 was sys_ipc
118 common fsync sys_fsync
119 common sigreturn sys_sigreturn_wrapper compat_sys_sigreturn
120 common clone sys_clone
121 common setdomainname sys_setdomainname
122 common uname sys_newuname
# 123 was sys_modify_ldt
124 common adjtimex sys_adjtimex_time32
125 common mprotect sys_mprotect
126 common sigprocmask sys_sigprocmask compat_sys_sigprocmask
# 127 was sys_create_module
128 common init_module sys_init_module
129 common delete_module sys_delete_module
# 130 was sys_get_kernel_syms
131 common quotactl sys_quotactl
132 common getpgid sys_getpgid
133 common fchdir sys_fchdir
134 common bdflush sys_ni_syscall
135 common sysfs sys_sysfs
136 common personality sys_personality
# 137 was sys_afs_syscall
138 common setfsuid sys_setfsuid16
139 common setfsgid sys_setfsgid16
140 common _llseek sys_llseek
141 common getdents sys_getdents compat_sys_getdents
142 common _newselect sys_select compat_sys_select
143 common flock sys_flock
144 common msync sys_msync
145 common readv sys_readv
146 common writev sys_writev
147 common getsid sys_getsid
148 common fdatasync sys_fdatasync
149 common _sysctl sys_ni_syscall
150 common mlock sys_mlock
151 common munlock sys_munlock
152 common mlockall sys_mlockall
153 common munlockall sys_munlockall
154 common sched_setparam sys_sched_setparam
155 common sched_getparam sys_sched_getparam
156 common sched_setscheduler sys_sched_setscheduler
157 common sched_getscheduler sys_sched_getscheduler
158 common sched_yield sys_sched_yield
159 common sched_get_priority_max sys_sched_get_priority_max
160 common sched_get_priority_min sys_sched_get_priority_min
161 common sched_rr_get_interval sys_sched_rr_get_interval_time32
162 common nanosleep sys_nanosleep_time32
163 common mremap sys_mremap
164 common setresuid sys_setresuid16
165 common getresuid sys_getresuid16
# 166 was sys_vm86
# 167 was sys_query_module
168 common poll sys_poll
169 common nfsservctl sys_ni_syscall
170 common setresgid sys_setresgid16
171 common getresgid sys_getresgid16
172 common prctl sys_prctl
173 common rt_sigreturn sys_rt_sigreturn_wrapper compat_sys_rt_sigreturn
174 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
175 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
176 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
177 common rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
178 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
179 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
180 common pread64 sys_pread64 compat_sys_aarch32_pread64
181 common pwrite64 sys_pwrite64 compat_sys_aarch32_pwrite64
182 common chown sys_chown16
183 common getcwd sys_getcwd
184 common capget sys_capget
185 common capset sys_capset
186 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
187 common sendfile sys_sendfile compat_sys_sendfile
# 188 reserved
# 189 reserved
190 common vfork sys_vfork
# SuS compliant getrlimit
191 common ugetrlimit sys_getrlimit compat_sys_getrlimit
192 common mmap2 sys_mmap2 compat_sys_aarch32_mmap2
193 common truncate64 sys_truncate64 compat_sys_aarch32_truncate64
194 common ftruncate64 sys_ftruncate64 compat_sys_aarch32_ftruncate64
195 common stat64 sys_stat64
196 common lstat64 sys_lstat64
197 common fstat64 sys_fstat64
198 common lchown32 sys_lchown
199 common getuid32 sys_getuid
200 common getgid32 sys_getgid
201 common geteuid32 sys_geteuid
202 common getegid32 sys_getegid
203 common setreuid32 sys_setreuid
204 common setregid32 sys_setregid
205 common getgroups32 sys_getgroups
206 common setgroups32 sys_setgroups
207 common fchown32 sys_fchown
208 common setresuid32 sys_setresuid
209 common getresuid32 sys_getresuid
210 common setresgid32 sys_setresgid
211 common getresgid32 sys_getresgid
212 common chown32 sys_chown
213 common setuid32 sys_setuid
214 common setgid32 sys_setgid
215 common setfsuid32 sys_setfsuid
216 common setfsgid32 sys_setfsgid
217 common getdents64 sys_getdents64
218 common pivot_root sys_pivot_root
219 common mincore sys_mincore
220 common madvise sys_madvise
221 common fcntl64 sys_fcntl64 compat_sys_fcntl64
# 222 for tux
# 223 is unused
224 common gettid sys_gettid
225 common readahead sys_readahead compat_sys_aarch32_readahead
226 common setxattr sys_setxattr
227 common lsetxattr sys_lsetxattr
228 common fsetxattr sys_fsetxattr
229 common getxattr sys_getxattr
230 common lgetxattr sys_lgetxattr
231 common fgetxattr sys_fgetxattr
232 common listxattr sys_listxattr
233 common llistxattr sys_llistxattr
234 common flistxattr sys_flistxattr
235 common removexattr sys_removexattr
236 common lremovexattr sys_lremovexattr
237 common fremovexattr sys_fremovexattr
238 common tkill sys_tkill
239 common sendfile64 sys_sendfile64
240 common futex sys_futex_time32
241 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
242 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
243 common io_setup sys_io_setup compat_sys_io_setup
244 common io_destroy sys_io_destroy
245 common io_getevents sys_io_getevents_time32
246 common io_submit sys_io_submit compat_sys_io_submit
247 common io_cancel sys_io_cancel
248 common exit_group sys_exit_group
249 common lookup_dcookie sys_ni_syscall
250 common epoll_create sys_epoll_create
251 common epoll_ctl sys_epoll_ctl
252 common epoll_wait sys_epoll_wait
253 common remap_file_pages sys_remap_file_pages
# 254 for set_thread_area
# 255 for get_thread_area
256 common set_tid_address sys_set_tid_address
257 common timer_create sys_timer_create compat_sys_timer_create
258 common timer_settime sys_timer_settime32
259 common timer_gettime sys_timer_gettime32
260 common timer_getoverrun sys_timer_getoverrun
261 common timer_delete sys_timer_delete
262 common clock_settime sys_clock_settime32
263 common clock_gettime sys_clock_gettime32
264 common clock_getres sys_clock_getres_time32
265 common clock_nanosleep sys_clock_nanosleep_time32
266 common statfs64 sys_statfs64_wrapper compat_sys_aarch32_statfs64
267 common fstatfs64 sys_fstatfs64_wrapper compat_sys_aarch32_fstatfs64
268 common tgkill sys_tgkill
269 common utimes sys_utimes_time32
270 common arm_fadvise64_64 sys_arm_fadvise64_64 compat_sys_aarch32_fadvise64_64
271 common pciconfig_iobase sys_pciconfig_iobase
272 common pciconfig_read sys_pciconfig_read
273 common pciconfig_write sys_pciconfig_write
274 common mq_open sys_mq_open compat_sys_mq_open
275 common mq_unlink sys_mq_unlink
276 common mq_timedsend sys_mq_timedsend_time32
277 common mq_timedreceive sys_mq_timedreceive_time32
278 common mq_notify sys_mq_notify compat_sys_mq_notify
279 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
280 common waitid sys_waitid compat_sys_waitid
281 common socket sys_socket
282 common bind sys_bind
283 common connect sys_connect
284 common listen sys_listen
285 common accept sys_accept
286 common getsockname sys_getsockname
287 common getpeername sys_getpeername
288 common socketpair sys_socketpair
289 common send sys_send
290 common sendto sys_sendto
291 common recv sys_recv compat_sys_recv
292 common recvfrom sys_recvfrom compat_sys_recvfrom
293 common shutdown sys_shutdown
294 common setsockopt sys_setsockopt
295 common getsockopt sys_getsockopt
296 common sendmsg sys_sendmsg compat_sys_sendmsg
297 common recvmsg sys_recvmsg compat_sys_recvmsg
298 common semop sys_semop
299 common semget sys_semget
300 common semctl sys_old_semctl compat_sys_old_semctl
301 common msgsnd sys_msgsnd compat_sys_msgsnd
302 common msgrcv sys_msgrcv compat_sys_msgrcv
303 common msgget sys_msgget
304 common msgctl sys_old_msgctl compat_sys_old_msgctl
305 common shmat sys_shmat compat_sys_shmat
306 common shmdt sys_shmdt
307 common shmget sys_shmget
308 common shmctl sys_old_shmctl compat_sys_old_shmctl
309 common add_key sys_add_key
310 common request_key sys_request_key
311 common keyctl sys_keyctl compat_sys_keyctl
312 common semtimedop sys_semtimedop_time32
313 common vserver sys_ni_syscall
314 common ioprio_set sys_ioprio_set
315 common ioprio_get sys_ioprio_get
316 common inotify_init sys_inotify_init
317 common inotify_add_watch sys_inotify_add_watch
318 common inotify_rm_watch sys_inotify_rm_watch
319 common mbind sys_mbind
320 common get_mempolicy sys_get_mempolicy
321 common set_mempolicy sys_set_mempolicy
322 common openat sys_openat compat_sys_openat
323 common mkdirat sys_mkdirat
324 common mknodat sys_mknodat
325 common fchownat sys_fchownat
326 common futimesat sys_futimesat_time32
327 common fstatat64 sys_fstatat64
328 common unlinkat sys_unlinkat
329 common renameat sys_renameat
330 common linkat sys_linkat
331 common symlinkat sys_symlinkat
332 common readlinkat sys_readlinkat
333 common fchmodat sys_fchmodat
334 common faccessat sys_faccessat
335 common pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
336 common ppoll sys_ppoll_time32 compat_sys_ppoll_time32
337 common unshare sys_unshare
338 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
339 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
340 common splice sys_splice
341 common arm_sync_file_range sys_sync_file_range2 compat_sys_aarch32_sync_file_range2
342 common tee sys_tee
343 common vmsplice sys_vmsplice
344 common move_pages sys_move_pages
345 common getcpu sys_getcpu
346 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
347 common kexec_load sys_kexec_load compat_sys_kexec_load
348 common utimensat sys_utimensat_time32
349 common signalfd sys_signalfd compat_sys_signalfd
350 common timerfd_create sys_timerfd_create
351 common eventfd sys_eventfd
352 common fallocate sys_fallocate compat_sys_aarch32_fallocate
353 common timerfd_settime sys_timerfd_settime32
354 common timerfd_gettime sys_timerfd_gettime32
355 common signalfd4 sys_signalfd4 compat_sys_signalfd4
356 common eventfd2 sys_eventfd2
357 common epoll_create1 sys_epoll_create1
358 common dup3 sys_dup3
359 common pipe2 sys_pipe2
360 common inotify_init1 sys_inotify_init1
361 common preadv sys_preadv compat_sys_preadv
362 common pwritev sys_pwritev compat_sys_pwritev
363 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
364 common perf_event_open sys_perf_event_open
365 common recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
366 common accept4 sys_accept4
367 common fanotify_init sys_fanotify_init
368 common fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark
369 common prlimit64 sys_prlimit64
370 common name_to_handle_at sys_name_to_handle_at
371 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at
372 common clock_adjtime sys_clock_adjtime32
373 common syncfs sys_syncfs
374 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
375 common setns sys_setns
376 common process_vm_readv sys_process_vm_readv
377 common process_vm_writev sys_process_vm_writev
378 common kcmp sys_kcmp
379 common finit_module sys_finit_module
380 common sched_setattr sys_sched_setattr
381 common sched_getattr sys_sched_getattr
382 common renameat2 sys_renameat2
383 common seccomp sys_seccomp
384 common getrandom sys_getrandom
385 common memfd_create sys_memfd_create
386 common bpf sys_bpf
387 common execveat sys_execveat compat_sys_execveat
388 common userfaultfd sys_userfaultfd
389 common membarrier sys_membarrier
390 common mlock2 sys_mlock2
391 common copy_file_range sys_copy_file_range
392 common preadv2 sys_preadv2 compat_sys_preadv2
393 common pwritev2 sys_pwritev2 compat_sys_pwritev2
394 common pkey_mprotect sys_pkey_mprotect
395 common pkey_alloc sys_pkey_alloc
396 common pkey_free sys_pkey_free
397 common statx sys_statx
398 common rseq sys_rseq
399 common io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
400 common migrate_pages sys_migrate_pages
401 common kexec_file_load sys_kexec_file_load
# 402 is unused
403 common clock_gettime64 sys_clock_gettime
404 common clock_settime64 sys_clock_settime
405 common clock_adjtime64 sys_clock_adjtime
406 common clock_getres_time64 sys_clock_getres
407 common clock_nanosleep_time64 sys_clock_nanosleep
408 common timer_gettime64 sys_timer_gettime
409 common timer_settime64 sys_timer_settime
410 common timerfd_gettime64 sys_timerfd_gettime
411 common timerfd_settime64 sys_timerfd_settime
412 common utimensat_time64 sys_utimensat
413 common pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
414 common ppoll_time64 sys_ppoll compat_sys_ppoll_time64
416 common io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
417 common recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
418 common mq_timedsend_time64 sys_mq_timedsend
419 common mq_timedreceive_time64 sys_mq_timedreceive
420 common semtimedop_time64 sys_semtimedop
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
428 common open_tree sys_open_tree
429 common move_mount sys_move_mount
430 common fsopen sys_fsopen
431 common fsconfig sys_fsconfig
432 common fsmount sys_fsmount
433 common fspick sys_fspick
434 common pidfd_open sys_pidfd_open
435 common clone3 sys_clone3
436 common close_range sys_close_range
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
443 common quotactl_fd sys_quotactl_fd
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self
# 447 reserved for memfd_secret
448 common process_mrelease sys_process_mrelease
449 common futex_waitv sys_futex_waitv
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
453 common map_shadow_stack sys_map_shadow_stack
454 common futex_wake sys_futex_wake
455 common futex_wait sys_futex_wait
456 common futex_requeue sys_futex_requeue
457 common statmount sys_statmount
458 common listmount sys_listmount
459 common lsm_get_self_attr sys_lsm_get_self_attr
460 common lsm_set_self_attr sys_lsm_set_self_attr
461 common lsm_list_modules sys_lsm_list_modules
462 common mseal sys_mseal

View file

@ -0,0 +1 @@
../../../scripts/syscall.tbl

View file

@ -1,7 +1,8 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y := syscall_table_32.h
generic-y += asm-offsets.h
generic-y += extable.h
generic-y += gpio.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h
generic-y += qrwlock.h

View file

@ -2,4 +2,7 @@
#include <uapi/asm/unistd.h>
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_CLONE
#define NR_syscalls (__NR_syscalls)

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
generic-y += ucontext.h

View file

@ -1,15 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_TIME32_SYSCALLS
#define __ARCH_WANT_SYNC_FILE_RANGE2
#include <asm-generic/unistd.h>
#include <asm/unistd_32.h>
#define __NR_set_thread_area (__NR_arch_specific_syscall + 0)
__SYSCALL(__NR_set_thread_area, sys_set_thread_area)
#define __NR_cacheflush (__NR_arch_specific_syscall + 1)
__SYSCALL(__NR_cacheflush, sys_cacheflush)
#define __NR_sync_file_range2 84
#undef __NR_sync_file_range

View file

@ -0,0 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += csky time32 stat64 rlimit

View file

@ -6,9 +6,11 @@
#undef __SYSCALL
#define __SYSCALL(nr, call)[nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#define sys_fadvise64_64 sys_csky_fadvise64_64
#define sys_sync_file_range sys_sync_file_range2
void * const sys_call_table[__NR_syscalls] __page_aligned_data = {
[0 ... __NR_syscalls - 1] = sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -1,4 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
generic-y += extable.h
generic-y += iomap.h
generic-y += kvm_para.h

View file

@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_FORK
#define __ARCH_BROKEN_SYS_CLONE3
#include <uapi/asm/unistd.h>

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
generic-y += ucontext.h

View file

@ -27,15 +27,7 @@
* See also: syscalltab.c
*/
#define sys_mmap2 sys_mmap_pgoff
#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_TIME32_SYSCALLS
#define __ARCH_WANT_SYNC_FILE_RANGE2
#include <asm/unistd_32.h>
#include <asm-generic/unistd.h>
#define __NR_sync_file_range2 84
#undef __NR_sync_file_range

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += hexagon time32 stat64 rlimit renameat

View file

@ -11,8 +11,10 @@
#include <asm/syscall.h>
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#define sys_mmap2 sys_mmap_pgoff
SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
SC_ARG64(offset), SC_ARG64(len))
@ -21,6 +23,8 @@ SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
}
#define sys_fadvise64_64 sys_hexagon_fadvise64_64
#define sys_sync_file_range sys_sync_file_range2
void *sys_call_table[__NR_syscalls] = {
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -1,28 +1,13 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_64.h
generated-y += orc_hash.h
generic-y += dma-contiguous.h
generic-y += mcs_spinlock.h
generic-y += parport.h
generic-y += early_ioremap.h
generic-y += qrwlock.h
generic-y += qspinlock.h
generic-y += rwsem.h
generic-y += segment.h
generic-y += user.h
generic-y += stat.h
generic-y += fcntl.h
generic-y += ioctl.h
generic-y += ioctls.h
generic-y += mman.h
generic-y += msgbuf.h
generic-y += sembuf.h
generic-y += shmbuf.h
generic-y += statfs.h
generic-y += socket.h
generic-y += sockios.h
generic-y += termbits.h
generic-y += poll.h
generic-y += param.h
generic-y += posix_types.h
generic-y += resource.h

View file

@ -8,4 +8,6 @@
#include <uapi/asm/unistd.h>
#define __ARCH_WANT_SYS_CLONE
#define NR_syscalls (__NR_syscalls)

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_64.h
generic-y += kvm_para.h

View file

@ -1,5 +1,3 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#include <asm-generic/unistd.h>
#include <asm/unistd_64.h>

View file

@ -0,0 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
# No special ABIs on loongarch so far
syscall_abis_64 +=

View file

@ -20,6 +20,7 @@
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, unsigned long,
prot, unsigned long, flags, unsigned long, fd, unsigned long, offset)
@ -32,7 +33,7 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, unsigned long,
void *sys_call_table[__NR_syscalls] = {
[0 ... __NR_syscalls - 1] = sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_64.h>
};
typedef long (*sys_call_fn)(unsigned long, unsigned long,

View file

@ -30,6 +30,5 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE3
#endif /* _ASM_M68K_UNISTD_H_ */

View file

@ -58,7 +58,6 @@
# endif
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
/* whitelists for checksyscalls */
#define __IGNORE_fadvise64_64

View file

@ -1,4 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
generic-y += cmpxchg.h
generic-y += extable.h
generic-y += kvm_para.h

View file

@ -0,0 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ASM_UNISTD_H
#define __ASM_UNISTD_H
#include <uapi/asm/unistd.h>
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_BROKEN_SYS_CLONE3
#endif

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
generic-y += ucontext.h

View file

@ -16,16 +16,4 @@
*
*/
#define sys_mmap2 sys_mmap_pgoff
#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_TIME32_SYSCALLS
/* Use the standard ABI for syscalls */
#include <asm-generic/unistd.h>
/* Additional Nios II specific syscalls. */
#define __NR_cacheflush (__NR_arch_specific_syscall)
__SYSCALL(__NR_cacheflush, sys_cacheflush)
#include <asm/unistd_32.h>

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += nios2 time32 stat64 renameat rlimit

View file

@ -9,10 +9,12 @@
#include <asm/syscalls.h>
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#define sys_mmap2 sys_mmap_pgoff
void *sys_call_table[__NR_syscalls] = {
[0 ... __NR_syscalls-1] = sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -1,4 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
generic-y += extable.h
generic-y += kvm_para.h
generic-y += parport.h

View file

@ -25,8 +25,4 @@ asmlinkage long __sys_clone(unsigned long clone_flags, unsigned long newsp,
asmlinkage long __sys_clone3(struct clone_args __user *uargs, size_t size);
asmlinkage long __sys_fork(void);
#define sys_clone __sys_clone
#define sys_clone3 __sys_clone3
#define sys_fork __sys_fork
#endif /* __ASM_OPENRISC_SYSCALLS_H */

View file

@ -0,0 +1,8 @@
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_TIME32_SYSCALLS
#include <uapi/asm/unistd.h>

View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
generic-y += ucontext.h

View file

@ -17,17 +17,4 @@
* (at your option) any later version.
*/
#define sys_mmap2 sys_mmap_pgoff
#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_TIME32_SYSCALLS
#include <asm-generic/unistd.h>
#define __NR_or1k_atomic __NR_arch_specific_syscall
__SYSCALL(__NR_or1k_atomic, sys_or1k_atomic)
#include <asm/unistd_32.h>

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += or1k time32 stat64 rlimit renameat

View file

@ -16,9 +16,14 @@
#include <asm/syscalls.h>
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#define sys_mmap2 sys_mmap_pgoff
#define sys_clone __sys_clone
#define sys_clone3 __sys_clone3
#define sys_fork __sys_fork
void *sys_call_table[__NR_syscalls] = {
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -160,7 +160,6 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
#define __ARCH_WANT_COMPAT_STAT

View file

@ -51,7 +51,6 @@
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#endif /* __ASSEMBLY__ */
#endif /* _ASM_POWERPC_UNISTD_H_ */

View file

@ -1,4 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
syscall-y += syscall_table_64.h
generic-y += early_ioremap.h
generic-y += flat.h
generic-y += kvm_para.h

View file

@ -0,0 +1,7 @@
#include <asm/bitsperlong.h>
#if __BITS_PER_LONG == 64
#include <asm/syscall_table_64.h>
#else
#include <asm/syscall_table_32.h>
#endif

View file

@ -3,11 +3,6 @@
* Copyright (C) 2012 Regents of the University of California
*/
/*
* There is explicitly no include guard here because this file is expected to
* be included multiple times.
*/
#define __ARCH_WANT_SYS_CLONE
#ifdef CONFIG_COMPAT
@ -21,6 +16,14 @@
#define __ARCH_WANT_COMPAT_FADVISE64_64
#endif
#if defined(__LP64__) && !defined(__SYSCALL_COMPAT)
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
#endif /* __LP64__ */
#define __ARCH_WANT_MEMFD_SECRET
#include <uapi/asm/unistd.h>
#define NR_syscalls (__NR_syscalls)

View file

@ -1 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_32.h
syscall-y += unistd_64.h

View file

@ -14,41 +14,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <asm/bitsperlong.h>
#if defined(__LP64__) && !defined(__SYSCALL_COMPAT)
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
#endif /* __LP64__ */
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_MEMFD_SECRET
#include <asm-generic/unistd.h>
/*
* Allows the instruction cache to be flushed from userspace. Despite RISC-V
* having a direct 'fence.i' instruction available to userspace (which we
* can't trap!), that's not actually viable when running on Linux because the
* kernel might schedule a process on another hart. There is no way for
* userspace to handle this without invoking the kernel (as it doesn't know the
* thread->hart mappings), so we've defined a RISC-V specific system call to
* flush the instruction cache.
*
* __NR_riscv_flush_icache is defined to flush the instruction cache over an
* address range, with the flush applying to either all threads or just the
* caller. We don't currently do anything with the address range, that's just
* in there for forwards compatibility.
*/
#ifndef __NR_riscv_flush_icache
#define __NR_riscv_flush_icache (__NR_arch_specific_syscall + 15)
#if __BITS_PER_LONG == 64
#include <asm/unistd_64.h>
#else
#include <asm/unistd_32.h>
#endif
__SYSCALL(__NR_riscv_flush_icache, sys_riscv_flush_icache)
/*
* Allows userspace to query the kernel for CPU architecture and
* microarchitecture details across a given set of CPUs.
*/
#ifndef __NR_riscv_hwprobe
#define __NR_riscv_hwprobe (__NR_arch_specific_syscall + 14)
#endif
__SYSCALL(__NR_riscv_hwprobe, sys_riscv_hwprobe)

View file

@ -0,0 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
syscall_abis_32 += riscv memfd_secret
syscall_abis_64 += riscv newstat rlimit memfd_secret

View file

@ -8,9 +8,11 @@
#include <asm-generic/syscalls.h>
#include <asm/syscall.h>
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
#undef __SYSCALL
#define __SYSCALL(nr, call) asmlinkage long __riscv_##call(const struct pt_regs *);
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = __riscv_##call,
@ -19,5 +21,5 @@ asmlinkage long compat_sys_rt_sigreturn(void);
void * const compat_sys_call_table[__NR_syscalls] = {
[0 ... __NR_syscalls - 1] = __riscv_sys_ni_syscall,
#include <asm/unistd.h>
#include <asm/syscall_table_32.h>
};

View file

@ -9,14 +9,16 @@
#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/unistd.h>
#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/unistd.h>
#include <asm/syscall_table.h>
};

View file

@ -35,6 +35,5 @@
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#endif /* _ASM_S390_UNISTD_H_ */

View file

@ -28,4 +28,6 @@
# define __ARCH_WANT_SYS_VFORK
# define __ARCH_WANT_SYS_CLONE
#define __ARCH_BROKEN_SYS_CLONE3
#include <uapi/asm/unistd.h>

View file

@ -49,6 +49,8 @@
#define __ARCH_WANT_COMPAT_STAT
#endif
#define __ARCH_BROKEN_SYS_CLONE3
#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

View file

@ -1,5 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
generic-y += bpf_perf_event.h
generic-y += bug.h
generic-y += compat.h
generic-y += current.h

View file

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* asm-generic/bpf_perf_event.h is part of the uapi headers, but since
* arch/um has no uapi of its on, we can't use the "generic-y"
* Kbuild rule to generate the wrapper
*/
#include <asm-generic/bpf_perf_event.h>

View file

@ -56,6 +56,5 @@
# define __ARCH_WANT_SYS_FORK
# define __ARCH_WANT_SYS_VFORK
# define __ARCH_WANT_SYS_CLONE
# define __ARCH_WANT_SYS_CLONE3
#endif /* _ASM_X86_UNISTD_H */

View file

@ -3,7 +3,6 @@
#define _XTENSA_UNISTD_H
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#include <uapi/asm/unistd.h>
#define __ARCH_WANT_NEW_STAT

View file

@ -9,7 +9,6 @@ mandatory-y += archrandom.h
mandatory-y += barrier.h
mandatory-y += bitops.h
mandatory-y += bug.h
mandatory-y += bugs.h
mandatory-y += cacheflush.h
mandatory-y += cfi.h
mandatory-y += checksum.h

View file

@ -97,8 +97,5 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr)
#define set_fixmap_io(idx, phys) \
__set_fixmap(idx, phys, FIXMAP_PAGE_IO)
#define set_fixmap_offset_io(idx, phys) \
__set_fixmap_offset(idx, phys, FIXMAP_PAGE_IO)
#endif /* __ASSEMBLY__ */
#endif /* __ASM_GENERIC_FIXMAP_H */

View file

@ -103,7 +103,7 @@
#define DATA_MAIN .data .data.[0-9a-zA-Z_]* .data..L* .data..compoundliteral* .data.$__unnamed_* .data.$L*
#define SDATA_MAIN .sdata .sdata.[0-9a-zA-Z_]*
#define RODATA_MAIN .rodata .rodata.[0-9a-zA-Z_]* .rodata..L*
#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]* .bss..compoundliteral*
#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]* .bss..L* .bss..compoundliteral*
#define SBSS_MAIN .sbss .sbss.[0-9a-zA-Z_]*
#else
#define TEXT_MAIN .text

View file

@ -776,12 +776,8 @@ __SYSCALL(__NR_fsmount, sys_fsmount)
__SYSCALL(__NR_fspick, sys_fspick)
#define __NR_pidfd_open 434
__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
#ifdef __ARCH_WANT_SYS_CLONE3
#define __NR_clone3 435
__SYSCALL(__NR_clone3, sys_clone3)
#endif
#define __NR_close_range 436
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_openat2 437

View file

@ -2921,8 +2921,6 @@ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
}
#endif
#ifdef __ARCH_WANT_SYS_CLONE3
noinline static int copy_clone_args_from_user(struct kernel_clone_args *kargs,
struct clone_args __user *uargs,
size_t usize)
@ -3066,6 +3064,11 @@ SYSCALL_DEFINE2(clone3, struct clone_args __user *, uargs, size_t, size)
struct kernel_clone_args kargs;
pid_t set_tid[MAX_PID_NS_LEVEL];
#ifdef __ARCH_BROKEN_SYS_CLONE3
#warning clone3() entry point is missing, please fix
return -ENOSYS;
#endif
kargs.set_tid = set_tid;
err = copy_clone_args_from_user(&kargs, uargs, size);
@ -3077,7 +3080,6 @@ SYSCALL_DEFINE2(clone3, struct clone_args __user *, uargs, size_t, size)
return kernel_clone(&kargs);
}
#endif
void walk_process_tree(struct task_struct *top, proc_visitor visitor, void *data)
{

View file

@ -76,8 +76,6 @@ COND_SYSCALL(timerfd_gettime32);
COND_SYSCALL(acct);
COND_SYSCALL(capget);
COND_SYSCALL(capset);
/* __ARCH_WANT_SYS_CLONE3 */
COND_SYSCALL(clone3);
COND_SYSCALL(futex);
COND_SYSCALL(futex_time32);
COND_SYSCALL(set_robust_list);

View file

@ -1,58 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# include/asm-generic contains a lot of files that are used
# verbatim by several architectures.
#
# This Makefile reads the file arch/$(SRCARCH)/include/(uapi/)/asm/Kbuild
# and for each file listed in this file with generic-y creates
# a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm.
PHONY := all
all:
src := $(srctree)/$(subst /generated,,$(obj))
include $(srctree)/scripts/Kbuild.include
-include $(kbuild-file)
# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
ifneq ($(SRCARCH),um)
include $(srctree)/$(generic)/Kbuild
endif
redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
redundant += $(foreach f, $(generic-y), $(if $(wildcard $(src)/$(f)),$(f)))
redundant := $(sort $(redundant))
$(if $(redundant),\
$(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
# If arch does not implement mandatory headers, fallback to asm-generic ones.
mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(src)/$(f)),,$(f)))
generic-y := $(addprefix $(obj)/, $(generic-y))
generated-y := $(addprefix $(obj)/, $(generated-y))
# Remove stale wrappers when the corresponding files are removed from generic-y
old-headers := $(wildcard $(obj)/*.h)
unwanted := $(filter-out $(generic-y) $(generated-y),$(old-headers))
quiet_cmd_wrap = WRAP $@
cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
quiet_cmd_remove = REMOVE $(unwanted)
cmd_remove = rm -f $(unwanted)
all: $(generic-y)
$(if $(unwanted),$(call cmd,remove))
@:
$(obj)/%.h:
$(call cmd,wrap)
# Create output directory. Skip it if at least one old header exists
# since we know the output directory already exists.
ifeq ($(old-headers),)
$(shell mkdir -p $(obj))
endif
.PHONY: $(PHONY)

View file

@ -0,0 +1,98 @@
# SPDX-License-Identifier: GPL-2.0
# include/asm-generic contains a lot of files that are used
# verbatim by several architectures.
#
# This Makefile generates arch/$(SRCARCH)/include/generated/(uapi/)/asm
# headers from multiple sources:
# - a small wrapper to include the corresponding asm-generic/*.h
# is generated for each file listed as generic-y
# - uapi/asm/unistd_*.h files listed as syscalls-y are generated from
# syscall.tbl with the __NR_* macros
# - Corresponding asm/syscall_table_*.h are generated from the same input
PHONY := all
all:
src := $(srctree)/$(subst /generated,,$(obj))
syscall_abis_32 += common,32
syscall_abis_64 += common,64
syscalltbl := $(srctree)/scripts/syscall.tbl
syshdr-args := --emit-nr
# let architectures override $(syscall_abis_%) and $(syscalltbl)
-include $(srctree)/arch/$(SRCARCH)/kernel/Makefile.syscalls
include $(srctree)/scripts/Kbuild.include
-include $(kbuild-file)
syshdr := $(srctree)/scripts/syscallhdr.sh
systbl := $(srctree)/scripts/syscalltbl.sh
# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
ifneq ($(SRCARCH),um)
include $(srctree)/$(generic)/Kbuild
endif
redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
redundant += $(foreach f, $(generic-y), $(if $(wildcard $(src)/$(f)),$(f)))
redundant := $(sort $(redundant))
$(if $(redundant),\
$(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
# If arch does not implement mandatory headers, fallback to asm-generic ones.
mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(src)/$(f)),,$(f)))
generic-y := $(addprefix $(obj)/, $(generic-y))
syscall-y := $(addprefix $(obj)/, $(syscall-y))
generated-y := $(addprefix $(obj)/, $(generated-y))
# Remove stale wrappers when the corresponding files are removed from generic-y
old-headers := $(wildcard $(obj)/*.h)
unwanted := $(filter-out $(generic-y) $(generated-y) $(syscall-y),$(old-headers))
quiet_cmd_wrap = WRAP $@
cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
quiet_cmd_remove = REMOVE $(unwanted)
cmd_remove = rm -f $(unwanted)
quiet_cmd_syshdr = SYSHDR $@
cmd_syshdr = $(CONFIG_SHELL) $(syshdr) \
$(if $(syshdr-args-$*),$(syshdr-args-$*),$(syshdr-args)) \
$(if $(syscall_compat),--prefix "compat$*_") \
--abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
$< $@
quiet_cmd_systbl = SYSTBL $@
cmd_systbl = $(CONFIG_SHELL) $(systbl) \
$(if $(systbl-args-$*),$(systbl-args-$*),$(systbl-args)) \
--abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
$< $@
all: $(generic-y) $(syscall-y)
$(if $(unwanted),$(call cmd,remove))
@:
$(obj)/%.h: $(srctree)/$(generic)/%.h
$(call cmd,wrap)
$(obj)/unistd_%.h: $(syscalltbl) $(syshdr) FORCE
$(call if_changed,syshdr)
$(obj)/unistd_compat_%.h: syscall_compat:=1
$(obj)/unistd_compat_%.h: $(syscalltbl) $(syshdr) FORCE
$(call if_changed,syshdr)
$(obj)/syscall_table_%.h: $(syscalltbl) $(systbl) FORCE
$(call if_changed,systbl)
# Create output directory. Skip it if at least one old header exists
# since we know the output directory already exists.
ifeq ($(old-headers),)
$(shell mkdir -p $(obj))
endif
FORCE:
.PHONY: $(PHONY)

404
scripts/syscall.tbl Normal file
View file

@ -0,0 +1,404 @@
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
#
# This file contains the system call numbers for all of the
# more recently added architectures.
#
# As a basic principle, no duplication of functionality
# should be added, e.g. we don't use lseek when llseek
# is present. New architectures should use this file
# and implement the less feature-full calls in user space.
#
0 common io_setup sys_io_setup compat_sys_io_setup
1 common io_destroy sys_io_destroy
2 common io_submit sys_io_submit compat_sys_io_submit
3 common io_cancel sys_io_cancel
4 time32 io_getevents sys_io_getevents_time32
4 64 io_getevents sys_io_getevents
5 common setxattr sys_setxattr
6 common lsetxattr sys_lsetxattr
7 common fsetxattr sys_fsetxattr
8 common getxattr sys_getxattr
9 common lgetxattr sys_lgetxattr
10 common fgetxattr sys_fgetxattr
11 common listxattr sys_listxattr
12 common llistxattr sys_llistxattr
13 common flistxattr sys_flistxattr
14 common removexattr sys_removexattr
15 common lremovexattr sys_lremovexattr
16 common fremovexattr sys_fremovexattr
17 common getcwd sys_getcwd
18 common lookup_dcookie sys_ni_syscall
19 common eventfd2 sys_eventfd2
20 common epoll_create1 sys_epoll_create1
21 common epoll_ctl sys_epoll_ctl
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
23 common dup sys_dup
24 common dup3 sys_dup3
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
25 64 fcntl sys_fcntl
26 common inotify_init1 sys_inotify_init1
27 common inotify_add_watch sys_inotify_add_watch
28 common inotify_rm_watch sys_inotify_rm_watch
29 common ioctl sys_ioctl compat_sys_ioctl
30 common ioprio_set sys_ioprio_set
31 common ioprio_get sys_ioprio_get
32 common flock sys_flock
33 common mknodat sys_mknodat
34 common mkdirat sys_mkdirat
35 common unlinkat sys_unlinkat
36 common symlinkat sys_symlinkat
37 common linkat sys_linkat
# renameat is superseded with flags by renameat2
38 renameat renameat sys_renameat
39 common umount2 sys_umount
40 common mount sys_mount
41 common pivot_root sys_pivot_root
43 32 statfs64 sys_statfs64 compat_sys_statfs64
43 64 statfs sys_statfs
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
44 64 fstatfs sys_fstatfs
45 32 truncate64 sys_truncate64 compat_sys_truncate64
45 64 truncate sys_truncate
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
46 64 ftruncate sys_ftruncate
47 common fallocate sys_fallocate compat_sys_fallocate
48 common faccessat sys_faccessat
49 common chdir sys_chdir
50 common fchdir sys_fchdir
51 common chroot sys_chroot
52 common fchmod sys_fchmod
53 common fchmodat sys_fchmodat
54 common fchownat sys_fchownat
55 common fchown sys_fchown
56 common openat sys_openat
57 common close sys_close
58 common vhangup sys_vhangup
59 common pipe2 sys_pipe2
60 common quotactl sys_quotactl
61 common getdents64 sys_getdents64
62 32 llseek sys_llseek
62 64 lseek sys_lseek
63 common read sys_read
64 common write sys_write
65 common readv sys_readv sys_readv
66 common writev sys_writev sys_writev
67 common pread64 sys_pread64 compat_sys_pread64
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
69 common preadv sys_preadv compat_sys_preadv
70 common pwritev sys_pwritev compat_sys_pwritev
71 32 sendfile64 sys_sendfile64
71 64 sendfile sys_sendfile64
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
72 64 pselect6 sys_pselect6
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
73 64 ppoll sys_ppoll
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
75 common vmsplice sys_vmsplice
76 common splice sys_splice
77 common tee sys_tee
78 common readlinkat sys_readlinkat
79 stat64 fstatat64 sys_fstatat64
79 newstat fstatat sys_newfstatat
80 stat64 fstat64 sys_fstat64
80 newstat fstat sys_newfstat
81 common sync sys_sync
82 common fsync sys_fsync
83 common fdatasync sys_fdatasync
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
85 common timerfd_create sys_timerfd_create
86 time32 timerfd_settime sys_timerfd_settime32
86 64 timerfd_settime sys_timerfd_settime
87 time32 timerfd_gettime sys_timerfd_gettime32
87 64 timerfd_gettime sys_timerfd_gettime
88 time32 utimensat sys_utimensat_time32
88 64 utimensat sys_utimensat
89 common acct sys_acct
90 common capget sys_capget
91 common capset sys_capset
92 common personality sys_personality
93 common exit sys_exit
94 common exit_group sys_exit_group
95 common waitid sys_waitid compat_sys_waitid
96 common set_tid_address sys_set_tid_address
97 common unshare sys_unshare
98 time32 futex sys_futex_time32
98 64 futex sys_futex
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
101 time32 nanosleep sys_nanosleep_time32
101 64 nanosleep sys_nanosleep
102 common getitimer sys_getitimer compat_sys_getitimer
103 common setitimer sys_setitimer compat_sys_setitimer
104 common kexec_load sys_kexec_load compat_sys_kexec_load
105 common init_module sys_init_module
106 common delete_module sys_delete_module
107 common timer_create sys_timer_create compat_sys_timer_create
108 time32 timer_gettime sys_timer_gettime32
108 64 timer_gettime sys_timer_gettime
109 common timer_getoverrun sys_timer_getoverrun
110 time32 timer_settime sys_timer_settime32
110 64 timer_settime sys_timer_settime
111 common timer_delete sys_timer_delete
112 time32 clock_settime sys_clock_settime32
112 64 clock_settime sys_clock_settime
113 time32 clock_gettime sys_clock_gettime32
113 64 clock_gettime sys_clock_gettime
114 time32 clock_getres sys_clock_getres_time32
114 64 clock_getres sys_clock_getres
115 time32 clock_nanosleep sys_clock_nanosleep_time32
115 64 clock_nanosleep sys_clock_nanosleep
116 common syslog sys_syslog
117 common ptrace sys_ptrace compat_sys_ptrace
118 common sched_setparam sys_sched_setparam
119 common sched_setscheduler sys_sched_setscheduler
120 common sched_getscheduler sys_sched_getscheduler
121 common sched_getparam sys_sched_getparam
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
124 common sched_yield sys_sched_yield
125 common sched_get_priority_max sys_sched_get_priority_max
126 common sched_get_priority_min sys_sched_get_priority_min
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
127 64 sched_rr_get_interval sys_sched_rr_get_interval
128 common restart_syscall sys_restart_syscall
129 common kill sys_kill
130 common tkill sys_tkill
131 common tgkill sys_tgkill
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
137 64 rt_sigtimedwait sys_rt_sigtimedwait
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
140 common setpriority sys_setpriority
141 common getpriority sys_getpriority
142 common reboot sys_reboot
143 common setregid sys_setregid
144 common setgid sys_setgid
145 common setreuid sys_setreuid
146 common setuid sys_setuid
147 common setresuid sys_setresuid
148 common getresuid sys_getresuid
149 common setresgid sys_setresgid
150 common getresgid sys_getresgid
151 common setfsuid sys_setfsuid
152 common setfsgid sys_setfsgid
153 common times sys_times compat_sys_times
154 common setpgid sys_setpgid
155 common getpgid sys_getpgid
156 common getsid sys_getsid
157 common setsid sys_setsid
158 common getgroups sys_getgroups
159 common setgroups sys_setgroups
160 common uname sys_newuname
161 common sethostname sys_sethostname
162 common setdomainname sys_setdomainname
# getrlimit and setrlimit are superseded with prlimit64
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
165 common getrusage sys_getrusage compat_sys_getrusage
166 common umask sys_umask
167 common prctl sys_prctl
168 common getcpu sys_getcpu
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
169 64 gettimeofday sys_gettimeofday
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
170 64 settimeofday sys_settimeofday
171 time32 adjtimex sys_adjtimex_time32
171 64 adjtimex sys_adjtimex
172 common getpid sys_getpid
173 common getppid sys_getppid
174 common getuid sys_getuid
175 common geteuid sys_geteuid
176 common getgid sys_getgid
177 common getegid sys_getegid
178 common gettid sys_gettid
179 common sysinfo sys_sysinfo compat_sys_sysinfo
180 common mq_open sys_mq_open compat_sys_mq_open
181 common mq_unlink sys_mq_unlink
182 time32 mq_timedsend sys_mq_timedsend_time32
182 64 mq_timedsend sys_mq_timedsend
183 time32 mq_timedreceive sys_mq_timedreceive_time32
183 64 mq_timedreceive sys_mq_timedreceive
184 common mq_notify sys_mq_notify compat_sys_mq_notify
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
186 common msgget sys_msgget
187 common msgctl sys_msgctl compat_sys_msgctl
188 common msgrcv sys_msgrcv compat_sys_msgrcv
189 common msgsnd sys_msgsnd compat_sys_msgsnd
190 common semget sys_semget
191 common semctl sys_semctl compat_sys_semctl
192 time32 semtimedop sys_semtimedop_time32
192 64 semtimedop sys_semtimedop
193 common semop sys_semop
194 common shmget sys_shmget
195 common shmctl sys_shmctl compat_sys_shmctl
196 common shmat sys_shmat compat_sys_shmat
197 common shmdt sys_shmdt
198 common socket sys_socket
199 common socketpair sys_socketpair
200 common bind sys_bind
201 common listen sys_listen
202 common accept sys_accept
203 common connect sys_connect
204 common getsockname sys_getsockname
205 common getpeername sys_getpeername
206 common sendto sys_sendto
207 common recvfrom sys_recvfrom compat_sys_recvfrom
208 common setsockopt sys_setsockopt sys_setsockopt
209 common getsockopt sys_getsockopt sys_getsockopt
210 common shutdown sys_shutdown
211 common sendmsg sys_sendmsg compat_sys_sendmsg
212 common recvmsg sys_recvmsg compat_sys_recvmsg
213 common readahead sys_readahead compat_sys_readahead
214 common brk sys_brk
215 common munmap sys_munmap
216 common mremap sys_mremap
217 common add_key sys_add_key
218 common request_key sys_request_key
219 common keyctl sys_keyctl compat_sys_keyctl
220 common clone sys_clone
221 common execve sys_execve compat_sys_execve
222 32 mmap2 sys_mmap2
222 64 mmap sys_mmap
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
223 64 fadvise64 sys_fadvise64_64
224 common swapon sys_swapon
225 common swapoff sys_swapoff
226 common mprotect sys_mprotect
227 common msync sys_msync
228 common mlock sys_mlock
229 common munlock sys_munlock
230 common mlockall sys_mlockall
231 common munlockall sys_munlockall
232 common mincore sys_mincore
233 common madvise sys_madvise
234 common remap_file_pages sys_remap_file_pages
235 common mbind sys_mbind
236 common get_mempolicy sys_get_mempolicy
237 common set_mempolicy sys_set_mempolicy
238 common migrate_pages sys_migrate_pages
239 common move_pages sys_move_pages
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
241 common perf_event_open sys_perf_event_open
242 common accept4 sys_accept4
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
243 64 recvmmsg sys_recvmmsg
# Architectures may provide up to 16 syscalls of their own between 244 and 259
244 arc cacheflush sys_cacheflush
245 arc arc_settls sys_arc_settls
246 arc arc_gettls sys_arc_gettls
247 arc sysfs sys_sysfs
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
244 csky set_thread_area sys_set_thread_area
245 csky cacheflush sys_cacheflush
244 nios2 cacheflush sys_cacheflush
244 or1k or1k_atomic sys_or1k_atomic
258 riscv riscv_hwprobe sys_riscv_hwprobe
259 riscv riscv_flush_icache sys_riscv_flush_icache
260 time32 wait4 sys_wait4 compat_sys_wait4
260 64 wait4 sys_wait4
261 common prlimit64 sys_prlimit64
262 common fanotify_init sys_fanotify_init
263 common fanotify_mark sys_fanotify_mark
264 common name_to_handle_at sys_name_to_handle_at
265 common open_by_handle_at sys_open_by_handle_at
266 time32 clock_adjtime sys_clock_adjtime32
266 64 clock_adjtime sys_clock_adjtime
267 common syncfs sys_syncfs
268 common setns sys_setns
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
270 common process_vm_readv sys_process_vm_readv
271 common process_vm_writev sys_process_vm_writev
272 common kcmp sys_kcmp
273 common finit_module sys_finit_module
274 common sched_setattr sys_sched_setattr
275 common sched_getattr sys_sched_getattr
276 common renameat2 sys_renameat2
277 common seccomp sys_seccomp
278 common getrandom sys_getrandom
279 common memfd_create sys_memfd_create
280 common bpf sys_bpf
281 common execveat sys_execveat compat_sys_execveat
282 common userfaultfd sys_userfaultfd
283 common membarrier sys_membarrier
284 common mlock2 sys_mlock2
285 common copy_file_range sys_copy_file_range
286 common preadv2 sys_preadv2 compat_sys_preadv2
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
288 common pkey_mprotect sys_pkey_mprotect
289 common pkey_alloc sys_pkey_alloc
290 common pkey_free sys_pkey_free
291 common statx sys_statx
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
292 64 io_pgetevents sys_io_pgetevents
293 common rseq sys_rseq
294 common kexec_file_load sys_kexec_file_load
# 295 through 402 are unassigned to sync up with generic numbers don't use
403 32 clock_gettime64 sys_clock_gettime
404 32 clock_settime64 sys_clock_settime
405 32 clock_adjtime64 sys_clock_adjtime
406 32 clock_getres_time64 sys_clock_getres
407 32 clock_nanosleep_time64 sys_clock_nanosleep
408 32 timer_gettime64 sys_timer_gettime
409 32 timer_settime64 sys_timer_settime
410 32 timerfd_gettime64 sys_timerfd_gettime
411 32 timerfd_settime64 sys_timerfd_settime
412 32 utimensat_time64 sys_utimensat
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
418 32 mq_timedsend_time64 sys_mq_timedsend
419 32 mq_timedreceive_time64 sys_mq_timedreceive
420 32 semtimedop_time64 sys_semtimedop
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 32 futex_time64 sys_futex
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
428 common open_tree sys_open_tree
429 common move_mount sys_move_mount
430 common fsopen sys_fsopen
431 common fsconfig sys_fsconfig
432 common fsmount sys_fsmount
433 common fspick sys_fspick
434 common pidfd_open sys_pidfd_open
435 common clone3 sys_clone3
436 common close_range sys_close_range
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
443 common quotactl_fd sys_quotactl_fd
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self
447 memfd_secret memfd_secret sys_memfd_secret
448 common process_mrelease sys_process_mrelease
449 common futex_waitv sys_futex_waitv
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
453 common map_shadow_stack sys_map_shadow_stack
454 common futex_wake sys_futex_wake
455 common futex_wait sys_futex_wait
456 common futex_requeue sys_futex_requeue
457 common statmount sys_statmount
458 common listmount sys_listmount
459 common lsm_get_self_attr sys_lsm_get_self_attr
460 common lsm_set_self_attr sys_lsm_set_self_attr
461 common lsm_list_modules sys_lsm_list_modules
462 common mseal sys_mseal

View file

@ -19,7 +19,6 @@
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_TIME32_SYSCALLS
#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_MEMFD_SECRET
#include <asm-generic/unistd.h>

View file

@ -4,6 +4,5 @@
*/
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3
#include <asm-generic/unistd.h>

View file

@ -776,12 +776,8 @@ __SYSCALL(__NR_fsmount, sys_fsmount)
__SYSCALL(__NR_fspick, sys_fspick)
#define __NR_pidfd_open 434
__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
#ifdef __ARCH_WANT_SYS_CLONE3
#define __NR_clone3 435
__SYSCALL(__NR_clone3, sys_clone3)
#endif
#define __NR_close_range 436
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_openat2 437