Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86: Machine-readable syscall tables and scripts to process them

Create a simple set of syscall tables and scripts to turn them into
both header files (unistd_*.h) and macros for generating the system
call tables.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>

+771
+43
arch/x86/syscalls/Makefile
··· 1 + out := $(obj)/../include/generated/asm 2 + 3 + # Create output directory if not already present 4 + _dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)') 5 + 6 + syscall32 := $(srctree)/$(src)/syscall_32.tbl 7 + syscall64 := $(srctree)/$(src)/syscall_64.tbl 8 + 9 + syshdr := $(srctree)/$(src)/syscallhdr.sh 10 + systbl := $(srctree)/$(src)/syscalltbl.sh 11 + 12 + quiet_cmd_syshdr = SYSHDR $@ 13 + cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' $< $@ \ 14 + $(syshdr_abi_$(basetarget)) $(syshdr_pfx_$(basetarget)) 15 + quiet_cmd_systbl = SYSTBL $@ 16 + cmd_systbl = $(CONFIG_SHELL) '$(systbl)' $< $@ 17 + 18 + syshdr_abi_unistd_32 := i386 19 + $(out)/unistd_32.h: $(syscall32) $(syshdr) 20 + $(call if_changed,syshdr) 21 + 22 + syshdr_abi_unistd_32_ia32 := i386 23 + syshdr_pfx_unistd_32_ia32 := ia32_ 24 + $(out)/unistd_32_ia32.h: $(syscall32) $(syshdr) 25 + $(call if_changed,syshdr) 26 + 27 + syshdr_abi_unistd_64 := 64 28 + $(out)/unistd_64.h: $(syscall64) $(syshdr) 29 + $(call if_changed,syshdr) 30 + 31 + $(out)/syscalls_32.h: $(syscall32) $(systbl) 32 + $(call if_changed,systbl) 33 + $(out)/syscalls_64.h: $(syscall64) $(systbl) 34 + $(call if_changed,systbl) 35 + 36 + syshdr-y += unistd_32.h unistd_64.h 37 + syshdr-y += syscalls_32.h 38 + syshdr-$(CONFIG_X86_64) += unistd_32_ia32.h 39 + syshdr-$(CONFIG_X86_64) += syscalls_64.h 40 + 41 + targets += $(syshdr-y) 42 + 43 + all: $(addprefix $(out)/,$(targets))
+357
arch/x86/syscalls/syscall_32.tbl
··· 1 + # 2 + # 32-bit system call numbers and entry vectors 3 + # 4 + # The format is: 5 + # <number> <abi> <name> <entry point> <compat entry point> 6 + # 7 + # The abi is always "i386" for this file. 8 + # 9 + 0 i386 restart_syscall sys_restart_syscall 10 + 1 i386 exit sys_exit 11 + 2 i386 fork ptregs_fork stub32_fork 12 + 3 i386 read sys_read 13 + 4 i386 write sys_write 14 + 5 i386 open sys_open compat_sys_open 15 + 6 i386 close sys_close 16 + 7 i386 waitpid sys_waitpid sys32_waitpid 17 + 8 i386 creat sys_creat 18 + 9 i386 link sys_link 19 + 10 i386 unlink sys_unlink 20 + 11 i386 execve ptregs_execve stub32_execve 21 + 12 i386 chdir sys_chdir 22 + 13 i386 time sys_time compat_sys_time 23 + 14 i386 mknod sys_mknod 24 + 15 i386 chmod sys_chmod 25 + 16 i386 lchown sys_lchown16 26 + 17 i386 break 27 + 18 i386 oldstat sys_stat 28 + 19 i386 lseek sys_lseek sys32_lseek 29 + 20 i386 getpid sys_getpid 30 + 21 i386 mount sys_mount compat_sys_mount 31 + 22 i386 umount sys_oldumount 32 + 23 i386 setuid sys_setuid16 33 + 24 i386 getuid sys_getuid16 34 + 25 i386 stime sys_stime compat_sys_stime 35 + 26 i386 ptrace sys_ptrace compat_sys_ptrace 36 + 27 i386 alarm sys_alarm 37 + 28 i386 oldfstat sys_fstat 38 + 29 i386 pause sys_pause 39 + 30 i386 utime sys_utime compat_sys_utime 40 + 31 i386 stty 41 + 32 i386 gtty 42 + 33 i386 access sys_access 43 + 34 i386 nice sys_nice 44 + 35 i386 ftime 45 + 36 i386 sync sys_sync 46 + 37 i386 kill sys_kill sys32_kill 47 + 38 i386 rename sys_rename 48 + 39 i386 mkdir sys_mkdir 49 + 40 i386 rmdir sys_rmdir 50 + 41 i386 dup sys_dup 51 + 42 i386 pipe sys_pipe 52 + 43 i386 times sys_times compat_sys_times 53 + 44 i386 prof 54 + 45 i386 brk sys_brk 55 + 46 i386 setgid sys_setgid16 56 + 47 i386 getgid sys_getgid16 57 + 48 i386 signal sys_signal 58 + 49 i386 geteuid sys_geteuid16 59 + 50 i386 getegid sys_getegid16 60 + 51 i386 acct sys_acct 61 + 52 i386 umount2 sys_umount 62 + 53 i386 lock 63 + 54 i386 ioctl sys_ioctl compat_sys_ioctl 64 + 55 i386 fcntl sys_fcntl compat_sys_fcntl64 65 + 56 i386 mpx 66 + 57 i386 setpgid sys_setpgid 67 + 58 i386 ulimit 68 + 59 i386 oldolduname sys_olduname 69 + 60 i386 umask sys_umask 70 + 61 i386 chroot sys_chroot 71 + 62 i386 ustat sys_ustat compat_sys_ustat 72 + 63 i386 dup2 sys_dup2 73 + 64 i386 getppid sys_getppid 74 + 65 i386 getpgrp sys_getpgrp 75 + 66 i386 setsid sys_setsid 76 + 67 i386 sigaction sys_sigaction sys32_sigaction 77 + 68 i386 sgetmask sys_sgetmask 78 + 69 i386 ssetmask sys_ssetmask 79 + 70 i386 setreuid sys_setreuid16 80 + 71 i386 setregid sys_setregid16 81 + 72 i386 sigsuspend sys_sigsuspend sys32_sigsuspend 82 + 73 i386 sigpending sys_sigpending compat_sys_sigpending 83 + 74 i386 sethostname sys_sethostname 84 + 75 i386 setrlimit sys_setrlimit compat_sys_setrlimit 85 + 76 i386 getrlimit sys_old_getrlimit compat_sys_old_getrlimit 86 + 77 i386 getrusage sys_getrusage compat_sys_getrusage 87 + 78 i386 gettimeofday sys_gettimeofday compat_sys_gettimeofday 88 + 79 i386 settimeofday sys_settimeofday compat_sys_settimeofday 89 + 80 i386 getgroups sys_getgroups16 90 + 81 i386 setgroups sys_setgroups16 91 + 82 i386 select sys_old_select compat_sys_old_select 92 + 83 i386 symlink sys_symlink 93 + 84 i386 oldlstat sys_lstat 94 + 85 i386 readlink sys_readlink 95 + 86 i386 uselib sys_uselib 96 + 87 i386 swapon sys_swapon 97 + 88 i386 reboot sys_reboot 98 + 89 i386 readdir sys_old_readdir compat_sys_old_readdir 99 + 90 i386 mmap sys_old_mmap sys32_mmap 100 + 91 i386 munmap sys_munmap 101 + 92 i386 truncate sys_truncate 102 + 93 i386 ftruncate sys_ftruncate 103 + 94 i386 fchmod sys_fchmod 104 + 95 i386 fchown sys_fchown16 105 + 96 i386 getpriority sys_getpriority 106 + 97 i386 setpriority sys_setpriority 107 + 98 i386 profil 108 + 99 i386 statfs sys_statfs compat_sys_statfs 109 + 100 i386 fstatfs sys_fstatfs compat_sys_fstatfs 110 + 101 i386 ioperm sys_ioperm 111 + 102 i386 socketcall sys_socketcall compat_sys_socketcall 112 + 103 i386 syslog sys_syslog 113 + 104 i386 setitimer sys_setitimer compat_sys_setitimer 114 + 105 i386 getitimer sys_getitimer compat_sys_getitimer 115 + 106 i386 stat sys_newstat compat_sys_newstat 116 + 107 i386 lstat sys_newlstat compat_sys_newlstat 117 + 108 i386 fstat sys_newfstat compat_sys_newfstat 118 + 109 i386 olduname sys_uname 119 + 110 i386 iopl ptregs_iopl stub32_iopl 120 + 111 i386 vhangup sys_vhangup 121 + 112 i386 idle 122 + 113 i386 vm86old ptregs_vm86old sys32_vm86_warning 123 + 114 i386 wait4 sys_wait4 compat_sys_wait4 124 + 115 i386 swapoff sys_swapoff 125 + 116 i386 sysinfo sys_sysinfo compat_sys_sysinfo 126 + 117 i386 ipc sys_ipc sys32_ipc 127 + 118 i386 fsync sys_fsync 128 + 119 i386 sigreturn ptregs_sigreturn stub32_sigreturn 129 + 120 i386 clone ptregs_clone stub32_clone 130 + 121 i386 setdomainname sys_setdomainname 131 + 122 i386 uname sys_newuname 132 + 123 i386 modify_ldt sys_modify_ldt 133 + 124 i386 adjtimex sys_adjtimex compat_sys_adjtimex 134 + 125 i386 mprotect sys_mprotect sys32_mprotect 135 + 126 i386 sigprocmask sys_sigprocmask compat_sys_sigprocmask 136 + 127 i386 create_module 137 + 128 i386 init_module sys_init_module 138 + 129 i386 delete_module sys_delete_module 139 + 130 i386 get_kernel_syms 140 + 131 i386 quotactl sys_quotactl sys32_quotactl 141 + 132 i386 getpgid sys_getpgid 142 + 133 i386 fchdir sys_fchdir 143 + 134 i386 bdflush sys_bdflush 144 + 135 i386 sysfs sys_sysfs 145 + 136 i386 personality sys_personality 146 + 137 i386 afs_syscall 147 + 138 i386 setfsuid sys_setfsuid16 148 + 139 i386 setfsgid sys_setfsgid16 149 + 140 i386 _llseek sys_llseek 150 + 141 i386 getdents sys_getdents compat_sys_getdents 151 + 142 i386 _newselect sys_select compat_sys_select 152 + 143 i386 flock sys_flock 153 + 144 i386 msync sys_msync 154 + 145 i386 readv sys_readv compat_sys_readv 155 + 146 i386 writev sys_writev compat_sys_writev 156 + 147 i386 getsid sys_getsid 157 + 148 i386 fdatasync sys_fdatasync 158 + 149 i386 _sysctl sys_sysctl compat_sys_sysctl 159 + 150 i386 mlock sys_mlock 160 + 151 i386 munlock sys_munlock 161 + 152 i386 mlockall sys_mlockall 162 + 153 i386 munlockall sys_munlockall 163 + 154 i386 sched_setparam sys_sched_setparam 164 + 155 i386 sched_getparam sys_sched_getparam 165 + 156 i386 sched_setscheduler sys_sched_setscheduler 166 + 157 i386 sched_getscheduler sys_sched_getscheduler 167 + 158 i386 sched_yield sys_sched_yield 168 + 159 i386 sched_get_priority_max sys_sched_get_priority_max 169 + 160 i386 sched_get_priority_min sys_sched_get_priority_min 170 + 161 i386 sched_rr_get_interval sys_sched_rr_get_interval sys32_sched_rr_get_interval 171 + 162 i386 nanosleep sys_nanosleep compat_sys_nanosleep 172 + 163 i386 mremap sys_mremap 173 + 164 i386 setresuid sys_setresuid16 174 + 165 i386 getresuid sys_getresuid16 175 + 166 i386 vm86 ptregs_vm86 sys32_vm86_warning 176 + 167 i386 query_module 177 + 168 i386 poll sys_poll 178 + 169 i386 nfsservctl 179 + 170 i386 setresgid sys_setresgid16 180 + 171 i386 getresgid sys_getresgid16 181 + 172 i386 prctl sys_prctl 182 + 173 i386 rt_sigreturn ptregs_rt_sigreturn stub32_rt_sigreturn 183 + 174 i386 rt_sigaction sys_rt_sigaction sys32_rt_sigaction 184 + 175 i386 rt_sigprocmask sys_rt_sigprocmask sys32_rt_sigprocmask 185 + 176 i386 rt_sigpending sys_rt_sigpending sys32_rt_sigpending 186 + 177 i386 rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 187 + 178 i386 rt_sigqueueinfo sys_rt_sigqueueinfo sys32_rt_sigqueueinfo 188 + 179 i386 rt_sigsuspend sys_rt_sigsuspend 189 + 180 i386 pread64 sys_pread64 sys32_pread 190 + 181 i386 pwrite64 sys_pwrite64 sys32_pwrite 191 + 182 i386 chown sys_chown16 192 + 183 i386 getcwd sys_getcwd 193 + 184 i386 capget sys_capget 194 + 185 i386 capset sys_capset 195 + 186 i386 sigaltstack ptregs_sigaltstack stub32_sigaltstack 196 + 187 i386 sendfile sys_sendfile sys32_sendfile 197 + 188 i386 getpmsg 198 + 189 i386 putpmsg 199 + 190 i386 vfork ptregs_vfork stub32_vfork 200 + 191 i386 ugetrlimit sys_getrlimit compat_sys_getrlimit 201 + 192 i386 mmap2 sys_mmap_pgoff 202 + 193 i386 truncate64 sys_truncate64 sys32_truncate64 203 + 194 i386 ftruncate64 sys_ftruncate64 sys32_ftruncate64 204 + 195 i386 stat64 sys_stat64 sys32_stat64 205 + 196 i386 lstat64 sys_lstat64 sys32_lstat64 206 + 197 i386 fstat64 sys_fstat64 sys32_fstat64 207 + 198 i386 lchown32 sys_lchown 208 + 199 i386 getuid32 sys_getuid 209 + 200 i386 getgid32 sys_getgid 210 + 201 i386 geteuid32 sys_geteuid 211 + 202 i386 getegid32 sys_getegid 212 + 203 i386 setreuid32 sys_setreuid 213 + 204 i386 setregid32 sys_setregid 214 + 205 i386 getgroups32 sys_getgroups 215 + 206 i386 setgroups32 sys_setgroups 216 + 207 i386 fchown32 sys_fchown 217 + 208 i386 setresuid32 sys_setresuid 218 + 209 i386 getresuid32 sys_getresuid 219 + 210 i386 setresgid32 sys_setresgid 220 + 211 i386 getresgid32 sys_getresgid 221 + 212 i386 chown32 sys_chown 222 + 213 i386 setuid32 sys_setuid 223 + 214 i386 setgid32 sys_setgid 224 + 215 i386 setfsuid32 sys_setfsuid 225 + 216 i386 setfsgid32 sys_setfsgid 226 + 217 i386 pivot_root sys_pivot_root 227 + 218 i386 mincore sys_mincore 228 + 219 i386 madvise sys_madvise 229 + 220 i386 getdents64 sys_getdents64 compat_sys_getdents64 230 + 221 i386 fcntl64 sys_fcntl64 compat_sys_fcntl64 231 + # 222 is unused 232 + # 223 is unused 233 + 224 i386 gettid sys_gettid 234 + 225 i386 readahead sys_readahead sys32_readahead 235 + 226 i386 setxattr sys_setxattr 236 + 227 i386 lsetxattr sys_lsetxattr 237 + 228 i386 fsetxattr sys_fsetxattr 238 + 229 i386 getxattr sys_getxattr 239 + 230 i386 lgetxattr sys_lgetxattr 240 + 231 i386 fgetxattr sys_fgetxattr 241 + 232 i386 listxattr sys_listxattr 242 + 233 i386 llistxattr sys_llistxattr 243 + 234 i386 flistxattr sys_flistxattr 244 + 235 i386 removexattr sys_removexattr 245 + 236 i386 lremovexattr sys_lremovexattr 246 + 237 i386 fremovexattr sys_fremovexattr 247 + 238 i386 tkill sys_tkill 248 + 239 i386 sendfile64 sys_sendfile64 249 + 240 i386 futex sys_futex compat_sys_futex 250 + 241 i386 sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 251 + 242 i386 sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 252 + 243 i386 set_thread_area sys_set_thread_area 253 + 244 i386 get_thread_area sys_get_thread_area 254 + 245 i386 io_setup sys_io_setup compat_sys_io_setup 255 + 246 i386 io_destroy sys_io_destroy 256 + 247 i386 io_getevents sys_io_getevents compat_sys_io_getevents 257 + 248 i386 io_submit sys_io_submit compat_sys_io_submit 258 + 249 i386 io_cancel sys_io_cancel 259 + 250 i386 fadvise64 sys_fadvise64 sys32_fadvise64 260 + # 251 is available for reuse (was briefly sys_set_zone_reclaim) 261 + 252 i386 exit_group sys_exit_group 262 + 253 i386 lookup_dcookie sys_lookup_dcookie sys32_lookup_dcookie 263 + 254 i386 epoll_create sys_epoll_create 264 + 255 i386 epoll_ctl sys_epoll_ctl 265 + 256 i386 epoll_wait sys_epoll_wait 266 + 257 i386 remap_file_pages sys_remap_file_pages 267 + 258 i386 set_tid_address sys_set_tid_address 268 + 259 i386 timer_create sys_timer_create compat_sys_timer_create 269 + 260 i386 timer_settime sys_timer_settime compat_sys_timer_settime 270 + 261 i386 timer_gettime sys_timer_gettime compat_sys_timer_gettime 271 + 262 i386 timer_getoverrun sys_timer_getoverrun 272 + 263 i386 timer_delete sys_timer_delete 273 + 264 i386 clock_settime sys_clock_settime compat_sys_clock_settime 274 + 265 i386 clock_gettime sys_clock_gettime compat_sys_clock_gettime 275 + 266 i386 clock_getres sys_clock_getres compat_sys_clock_getres 276 + 267 i386 clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 277 + 268 i386 statfs64 sys_statfs64 compat_sys_statfs64 278 + 269 i386 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 279 + 270 i386 tgkill sys_tgkill 280 + 271 i386 utimes sys_utimes compat_sys_utimes 281 + 272 i386 fadvise64_64 sys_fadvise64_64 sys32_fadvise64_64 282 + 273 i386 vserver 283 + 274 i386 mbind sys_mbind 284 + 275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy 285 + 276 i386 set_mempolicy sys_set_mempolicy 286 + 277 i386 mq_open sys_mq_open compat_sys_mq_open 287 + 278 i386 mq_unlink sys_mq_unlink 288 + 279 i386 mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 289 + 280 i386 mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 290 + 281 i386 mq_notify sys_mq_notify compat_sys_mq_notify 291 + 282 i386 mq_getsetaddr sys_mq_getsetattr compat_sys_mq_getsetattr 292 + 283 i386 kexec_load sys_kexec_load compat_sys_kexec_load 293 + 284 i386 waitid sys_waitid compat_sys_waitid 294 + # 285 sys_setaltroot 295 + 286 i386 add_key sys_add_key 296 + 287 i386 request_key sys_request_key 297 + 288 i386 keyctl sys_keyctl 298 + 289 i386 ioprio_set sys_ioprio_set 299 + 290 i386 ioprio_get sys_ioprio_get 300 + 291 i386 inotify_init sys_inotify_init 301 + 292 i386 inotify_add_watch sys_inotify_add_watch 302 + 293 i386 inotify_rm_watch sys_inotify_rm_watch 303 + 294 i386 migrate_pages sys_migrate_pages 304 + 295 i386 openat sys_openat compat_sys_openat 305 + 296 i386 mkdirat sys_mkdirat 306 + 297 i386 mknodat sys_mknodat 307 + 298 i386 fchownat sys_fchownat 308 + 299 i386 futimesat sys_futimesat compat_sys_futimesat 309 + 300 i386 fstatat64 sys_fstatat64 sys32_fstatat 310 + 301 i386 unlinkat sys_unlinkat 311 + 302 i386 renameat sys_renameat 312 + 303 i386 linkat sys_linkat 313 + 304 i386 symlinkat sys_symlinkat 314 + 305 i386 readlinkat sys_readlinkat 315 + 306 i386 fchmodat sys_fchmodat 316 + 307 i386 faccessat sys_faccessat 317 + 308 i386 pselect6 sys_pselect6 compat_sys_pselect6 318 + 309 i386 ppoll sys_ppoll compat_sys_ppoll 319 + 310 i386 unshare sys_unshare 320 + 311 i386 set_robust_list sys_set_robust_list compat_sys_set_robust_list 321 + 312 i386 get_robust_list sys_get_robust_list compat_sys_get_robust_list 322 + 313 i386 splice sys_splice 323 + 314 i386 sync_file_range sys_sync_file_range sys32_sync_file_range 324 + 315 i386 tee sys_tee 325 + 316 i386 vmsplice sys_vmsplice compat_sys_vmsplice 326 + 317 i386 move_pages sys_move_pages compat_sys_move_pages 327 + 318 i386 getcpu sys_getcpu 328 + 319 i386 epoll_pwait sys_epoll_pwait 329 + 320 i386 utimensat sys_utimensat compat_sys_utimensat 330 + 321 i386 signalfd sys_signalfd compat_sys_signalfd 331 + 322 i386 timerfd_create sys_timerfd_create 332 + 323 i386 eventfd sys_eventfd 333 + 324 i386 fallocate sys_fallocate sys32_fallocate 334 + 325 i386 timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 335 + 326 i386 timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 336 + 327 i386 signalfd4 sys_signalfd4 compat_sys_signalfd4 337 + 328 i386 eventfd2 sys_eventfd2 338 + 329 i386 epoll_create1 sys_epoll_create1 339 + 330 i386 dup3 sys_dup3 340 + 331 i386 pipe2 sys_pipe2 341 + 332 i386 inotify_init1 sys_inotify_init1 342 + 333 i386 preadv sys_preadv compat_sys_preadv 343 + 334 i386 pwritev sys_pwritev compat_sys_pwritev 344 + 335 i386 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 345 + 336 i386 perf_event_open sys_perf_event_open 346 + 337 i386 recvmmsg sys_recvmmsg compat_sys_recvmmsg 347 + 338 i386 fanotify_init sys_fanotify_init 348 + 339 i386 fanotify_mark sys_fanotify_mark sys32_fanotify_mark 349 + 340 i386 prlimit64 sys_prlimit64 350 + 341 i386 name_to_handle_at sys_name_to_handle_at 351 + 342 i386 open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 352 + 343 i386 clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 353 + 344 i386 syncfs sys_syncfs 354 + 345 i386 sendmmsg sys_sendmmsg compat_sys_sendmmsg 355 + 346 i386 setns sys_setns 356 + 347 i386 process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv 357 + 348 i386 process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
+320
arch/x86/syscalls/syscall_64.tbl
··· 1 + # 2 + # 64-bit system call numbers and entry vectors 3 + # 4 + # The format is: 5 + # <number> <abi> <name> <entry point> 6 + # 7 + # The abi is always "64" for this file (for now.) 8 + # 9 + 0 64 read sys_read 10 + 1 64 write sys_write 11 + 2 64 open sys_open 12 + 3 64 close sys_close 13 + 4 64 stat sys_newstat 14 + 5 64 fstat sys_newfstat 15 + 6 64 lstat sys_newlstat 16 + 7 64 poll sys_poll 17 + 8 64 lseek sys_lseek 18 + 9 64 mmap sys_mmap 19 + 10 64 mprotect sys_mprotect 20 + 11 64 munmap sys_munmap 21 + 12 64 brk sys_brk 22 + 13 64 rt_sigaction sys_rt_sigaction 23 + 14 64 rt_sigprocmask sys_rt_sigprocmask 24 + 15 64 rt_sigreturn stub_rt_sigreturn 25 + 16 64 ioctl sys_ioctl 26 + 17 64 pread64 sys_pread64 27 + 18 64 pwrite64 sys_pwrite64 28 + 19 64 readv sys_readv 29 + 20 64 writev sys_writev 30 + 21 64 access sys_access 31 + 22 64 pipe sys_pipe 32 + 23 64 select sys_select 33 + 24 64 sched_yield sys_sched_yield 34 + 25 64 mremap sys_mremap 35 + 26 64 msync sys_msync 36 + 27 64 mincore sys_mincore 37 + 28 64 madvise sys_madvise 38 + 29 64 shmget sys_shmget 39 + 30 64 shmat sys_shmat 40 + 31 64 shmctl sys_shmctl 41 + 32 64 dup sys_dup 42 + 33 64 dup2 sys_dup2 43 + 34 64 pause sys_pause 44 + 35 64 nanosleep sys_nanosleep 45 + 36 64 getitimer sys_getitimer 46 + 37 64 alarm sys_alarm 47 + 38 64 setitimer sys_setitimer 48 + 39 64 getpid sys_getpid 49 + 40 64 sendfile sys_sendfile64 50 + 41 64 socket sys_socket 51 + 42 64 connect sys_connect 52 + 43 64 accept sys_accept 53 + 44 64 sendto sys_sendto 54 + 45 64 recvfrom sys_recvfrom 55 + 46 64 sendmsg sys_sendmsg 56 + 47 64 recvmsg sys_recvmsg 57 + 48 64 shutdown sys_shutdown 58 + 49 64 bind sys_bind 59 + 50 64 listen sys_listen 60 + 51 64 getsockname sys_getsockname 61 + 52 64 getpeername sys_getpeername 62 + 53 64 socketpair sys_socketpair 63 + 54 64 setsockopt sys_setsockopt 64 + 55 64 getsockopt sys_getsockopt 65 + 56 64 clone stub_clone 66 + 57 64 fork stub_fork 67 + 58 64 vfork stub_vfork 68 + 59 64 execve stub_execve 69 + 60 64 exit sys_exit 70 + 61 64 wait4 sys_wait4 71 + 62 64 kill sys_kill 72 + 63 64 uname sys_newuname 73 + 64 64 semget sys_semget 74 + 65 64 semop sys_semop 75 + 66 64 semctl sys_semctl 76 + 67 64 shmdt sys_shmdt 77 + 68 64 msgget sys_msgget 78 + 69 64 msgsnd sys_msgsnd 79 + 70 64 msgrcv sys_msgrcv 80 + 71 64 msgctl sys_msgctl 81 + 72 64 fcntl sys_fcntl 82 + 73 64 flock sys_flock 83 + 74 64 fsync sys_fsync 84 + 75 64 fdatasync sys_fdatasync 85 + 76 64 truncate sys_truncate 86 + 77 64 ftruncate sys_ftruncate 87 + 78 64 getdents sys_getdents 88 + 79 64 getcwd sys_getcwd 89 + 80 64 chdir sys_chdir 90 + 81 64 fchdir sys_fchdir 91 + 82 64 rename sys_rename 92 + 83 64 mkdir sys_mkdir 93 + 84 64 rmdir sys_rmdir 94 + 85 64 creat sys_creat 95 + 86 64 link sys_link 96 + 87 64 unlink sys_unlink 97 + 88 64 symlink sys_symlink 98 + 89 64 readlink sys_readlink 99 + 90 64 chmod sys_chmod 100 + 91 64 fchmod sys_fchmod 101 + 92 64 chown sys_chown 102 + 93 64 fchown sys_fchown 103 + 94 64 lchown sys_lchown 104 + 95 64 umask sys_umask 105 + 96 64 gettimeofday sys_gettimeofday 106 + 97 64 getrlimit sys_getrlimit 107 + 98 64 getrusage sys_getrusage 108 + 99 64 sysinfo sys_sysinfo 109 + 100 64 times sys_times 110 + 101 64 ptrace sys_ptrace 111 + 102 64 getuid sys_getuid 112 + 103 64 syslog sys_syslog 113 + 104 64 getgid sys_getgid 114 + 105 64 setuid sys_setuid 115 + 106 64 setgid sys_setgid 116 + 107 64 geteuid sys_geteuid 117 + 108 64 getegid sys_getegid 118 + 109 64 setpgid sys_setpgid 119 + 110 64 getppid sys_getppid 120 + 111 64 getpgrp sys_getpgrp 121 + 112 64 setsid sys_setsid 122 + 113 64 setreuid sys_setreuid 123 + 114 64 setregid sys_setregid 124 + 115 64 getgroups sys_getgroups 125 + 116 64 setgroups sys_setgroups 126 + 117 64 setresuid sys_setresuid 127 + 118 64 getresuid sys_getresuid 128 + 119 64 setresgid sys_setresgid 129 + 120 64 getresgid sys_getresgid 130 + 121 64 getpgid sys_getpgid 131 + 122 64 setfsuid sys_setfsuid 132 + 123 64 setfsgid sys_setfsgid 133 + 124 64 getsid sys_getsid 134 + 125 64 capget sys_capget 135 + 126 64 capset sys_capset 136 + 127 64 rt_sigpending sys_rt_sigpending 137 + 128 64 rt_sigtimedwait sys_rt_sigtimedwait 138 + 129 64 rt_sigqueueinfo sys_rt_sigqueueinfo 139 + 130 64 rt_sigsuspend sys_rt_sigsuspend 140 + 131 64 sigaltstack stub_sigaltstack 141 + 132 64 utime sys_utime 142 + 133 64 mknod sys_mknod 143 + 134 64 uselib 144 + 135 64 personality sys_personality 145 + 136 64 ustat sys_ustat 146 + 137 64 statfs sys_statfs 147 + 138 64 fstatfs sys_fstatfs 148 + 139 64 sysfs sys_sysfs 149 + 140 64 getpriority sys_getpriority 150 + 141 64 setpriority sys_setpriority 151 + 142 64 sched_setparam sys_sched_setparam 152 + 143 64 sched_getparam sys_sched_getparam 153 + 144 64 sched_setscheduler sys_sched_setscheduler 154 + 145 64 sched_getscheduler sys_sched_getscheduler 155 + 146 64 sched_get_priority_max sys_sched_get_priority_max 156 + 147 64 sched_get_priority_min sys_sched_get_priority_min 157 + 148 64 sched_rr_get_interval sys_sched_rr_get_interval 158 + 149 64 mlock sys_mlock 159 + 150 64 munlock sys_munlock 160 + 151 64 mlockall sys_mlockall 161 + 152 64 munlockall sys_munlockall 162 + 153 64 vhangup sys_vhangup 163 + 154 64 modify_ldt sys_modify_ldt 164 + 155 64 pivot_root sys_pivot_root 165 + 156 64 _sysctl sys_sysctl 166 + 157 64 prctl sys_prctl 167 + 158 64 arch_prctl sys_arch_prctl 168 + 159 64 adjtimex sys_adjtimex 169 + 160 64 setrlimit sys_setrlimit 170 + 161 64 chroot sys_chroot 171 + 162 64 sync sys_sync 172 + 163 64 acct sys_acct 173 + 164 64 settimeofday sys_settimeofday 174 + 165 64 mount sys_mount 175 + 166 64 umount2 sys_umount 176 + 167 64 swapon sys_swapon 177 + 168 64 swapoff sys_swapoff 178 + 169 64 reboot sys_reboot 179 + 170 64 sethostname sys_sethostname 180 + 171 64 setdomainname sys_setdomainname 181 + 172 64 iopl stub_iopl 182 + 173 64 ioperm sys_ioperm 183 + 174 64 create_module 184 + 175 64 init_module sys_init_module 185 + 176 64 delete_module sys_delete_module 186 + 177 64 get_kernel_syms 187 + 178 64 query_module 188 + 179 64 quotactl sys_quotactl 189 + 180 64 nfsservctl 190 + 181 64 getpmsg 191 + 182 64 putpmsg 192 + 183 64 afs_syscall 193 + 184 64 tuxcall 194 + 185 64 security 195 + 186 64 gettid sys_gettid 196 + 187 64 readahead sys_readahead 197 + 188 64 setxattr sys_setxattr 198 + 189 64 lsetxattr sys_lsetxattr 199 + 190 64 fsetxattr sys_fsetxattr 200 + 191 64 getxattr sys_getxattr 201 + 192 64 lgetxattr sys_lgetxattr 202 + 193 64 fgetxattr sys_fgetxattr 203 + 194 64 listxattr sys_listxattr 204 + 195 64 llistxattr sys_llistxattr 205 + 196 64 flistxattr sys_flistxattr 206 + 197 64 removexattr sys_removexattr 207 + 198 64 lremovexattr sys_lremovexattr 208 + 199 64 fremovexattr sys_fremovexattr 209 + 200 64 tkill sys_tkill 210 + 201 64 time sys_time 211 + 202 64 futex sys_futex 212 + 203 64 sched_setaffinity sys_sched_setaffinity 213 + 204 64 sched_getaffinity sys_sched_getaffinity 214 + 205 64 set_thread_area 215 + 206 64 io_setup sys_io_setup 216 + 207 64 io_destroy sys_io_destroy 217 + 208 64 io_getevents sys_io_getevents 218 + 209 64 io_submit sys_io_submit 219 + 210 64 io_cancel sys_io_cancel 220 + 211 64 get_thread_area 221 + 212 64 lookup_dcookie sys_lookup_dcookie 222 + 213 64 epoll_create sys_epoll_create 223 + 214 64 epoll_ctl_old 224 + 215 64 epoll_wait_old 225 + 216 64 remap_file_pages sys_remap_file_pages 226 + 217 64 getdents64 sys_getdents64 227 + 218 64 set_tid_address sys_set_tid_address 228 + 219 64 restart_syscall sys_restart_syscall 229 + 220 64 semtimedop sys_semtimedop 230 + 221 64 fadvise64 sys_fadvise64 231 + 222 64 timer_create sys_timer_create 232 + 223 64 timer_settime sys_timer_settime 233 + 224 64 timer_gettime sys_timer_gettime 234 + 225 64 timer_getoverrun sys_timer_getoverrun 235 + 226 64 timer_delete sys_timer_delete 236 + 227 64 clock_settime sys_clock_settime 237 + 228 64 clock_gettime sys_clock_gettime 238 + 229 64 clock_getres sys_clock_getres 239 + 230 64 clock_nanosleep sys_clock_nanosleep 240 + 231 64 exit_group sys_exit_group 241 + 232 64 epoll_wait sys_epoll_wait 242 + 233 64 epoll_ctl sys_epoll_ctl 243 + 234 64 tgkill sys_tgkill 244 + 235 64 utimes sys_utimes 245 + 236 64 vserver 246 + 237 64 mbind sys_mbind 247 + 238 64 set_mempolicy sys_set_mempolicy 248 + 239 64 get_mempolicy sys_get_mempolicy 249 + 240 64 mq_open sys_mq_open 250 + 241 64 mq_unlink sys_mq_unlink 251 + 242 64 mq_timedsend sys_mq_timedsend 252 + 243 64 mq_timedreceive sys_mq_timedreceive 253 + 244 64 mq_notify sys_mq_notify 254 + 245 64 mq_getsetattr sys_mq_getsetattr 255 + 246 64 kexec_load sys_kexec_load 256 + 247 64 waitid sys_waitid 257 + 248 64 add_key sys_add_key 258 + 249 64 request_key sys_request_key 259 + 250 64 keyctl sys_keyctl 260 + 251 64 ioprio_set sys_ioprio_set 261 + 252 64 ioprio_get sys_ioprio_get 262 + 253 64 inotify_init sys_inotify_init 263 + 254 64 inotify_add_watch sys_inotify_add_watch 264 + 255 64 inotify_rm_watch sys_inotify_rm_watch 265 + 256 64 migrate_pages sys_migrate_pages 266 + 257 64 openat sys_openat 267 + 258 64 mkdirat sys_mkdirat 268 + 259 64 mknodat sys_mknodat 269 + 260 64 fchownat sys_fchownat 270 + 261 64 futimesat sys_futimesat 271 + 262 64 newfstatat sys_newfstatat 272 + 263 64 unlinkat sys_unlinkat 273 + 264 64 renameat sys_renameat 274 + 265 64 linkat sys_linkat 275 + 266 64 symlinkat sys_symlinkat 276 + 267 64 readlinkat sys_readlinkat 277 + 268 64 fchmodat sys_fchmodat 278 + 269 64 faccessat sys_faccessat 279 + 270 64 pselect6 sys_pselect6 280 + 271 64 ppoll sys_ppoll 281 + 272 64 unshare sys_unshare 282 + 273 64 set_robust_list sys_set_robust_list 283 + 274 64 get_robust_list sys_get_robust_list 284 + 275 64 splice sys_splice 285 + 276 64 tee sys_tee 286 + 277 64 sync_file_range sys_sync_file_range 287 + 278 64 vmsplice sys_vmsplice 288 + 279 64 move_pages sys_move_pages 289 + 280 64 utimensat sys_utimensat 290 + 281 64 epoll_pwait sys_epoll_pwait 291 + 282 64 signalfd sys_signalfd 292 + 283 64 timerfd_create sys_timerfd_create 293 + 284 64 eventfd sys_eventfd 294 + 285 64 fallocate sys_fallocate 295 + 286 64 timerfd_settime sys_timerfd_settime 296 + 287 64 timerfd_gettime sys_timerfd_gettime 297 + 288 64 accept4 sys_accept4 298 + 289 64 signalfd4 sys_signalfd4 299 + 290 64 eventfd2 sys_eventfd2 300 + 291 64 epoll_create1 sys_epoll_create1 301 + 292 64 dup3 sys_dup3 302 + 293 64 pipe2 sys_pipe2 303 + 294 64 inotify_init1 sys_inotify_init1 304 + 295 64 preadv sys_preadv 305 + 296 64 pwritev sys_pwritev 306 + 297 64 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 307 + 298 64 perf_event_open sys_perf_event_open 308 + 299 64 recvmmsg sys_recvmmsg 309 + 300 64 fanotify_init sys_fanotify_init 310 + 301 64 fanotify_mark sys_fanotify_mark 311 + 302 64 prlimit64 sys_prlimit64 312 + 303 64 name_to_handle_at sys_name_to_handle_at 313 + 304 64 open_by_handle_at sys_open_by_handle_at 314 + 305 64 clock_adjtime sys_clock_adjtime 315 + 306 64 syncfs sys_syncfs 316 + 307 64 sendmmsg sys_sendmmsg 317 + 308 64 setns sys_setns 318 + 309 64 getcpu sys_getcpu 319 + 310 64 process_vm_readv sys_process_vm_readv 320 + 311 64 process_vm_writev sys_process_vm_writev
+36
arch/x86/syscalls/syscallhdr.sh
··· 1 + #!/bin/sh 2 + 3 + in="$1" 4 + out="$2" 5 + my_abis=`echo "$3" | tr ',' ' '` 6 + prefix="$4" 7 + offset="$5" 8 + 9 + fileguard=_ASM_X86_`basename "$out" | sed \ 10 + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 11 + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 12 + 13 + in_list () { 14 + local x 15 + for x in $1; do 16 + if [ x"$x" = x"$2" ]; then 17 + return 0 18 + fi 19 + done 20 + return 1 21 + } 22 + 23 + grep '^[0-9]' "$in" | sort -n | ( 24 + echo "#ifndef ${fileguard}" 25 + echo "#define ${fileguard} 1" 26 + echo "" 27 + 28 + while read nr abi name entry ; do 29 + if in_list "$my_abis" "$abi"; then 30 + echo "#define __NR_${prefix}${name}" $((nr+offset)) 31 + fi 32 + done 33 + 34 + echo "" 35 + echo "#endif /* ${fileguard} */" 36 + ) > "$out"
+15
arch/x86/syscalls/syscalltbl.sh
··· 1 + #!/bin/sh 2 + 3 + in="$1" 4 + out="$2" 5 + 6 + grep '^[0-9]' "$in" | sort -n | ( 7 + while read nr abi name entry compat; do 8 + abi=`echo "$abi" | tr '[a-z]' '[A-Z]'` 9 + if [ -n "$compat" ]; then 10 + echo "__SYSCALL_${abi}($nr, $entry, $compat)" 11 + elif [ -n "$entry" ]; then 12 + echo "__SYSCALL_${abi}($nr, $entry, $entry)" 13 + fi 14 + done 15 + ) > "$out"