blob: 70a3a6a27ae3f5d1d516fa6c5df53d9c052fbb8f [file] [log] [blame]
Roland McGrath9597e6d2004-10-19 23:29:27 +00001/*
2 * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
3 * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Roland McGrath9597e6d2004-10-19 23:29:27 +000027 */
28
Elvira Khabirova140ecf82015-07-10 22:24:48 +030029[ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" },
30[ 1] = { 1, TP|SE, SEN(exit), "exit" },
31[ 2] = { 0, TP, SEN(fork), "fork" },
32[ 3] = { 3, TD, SEN(read), "read" },
33[ 4] = { 3, TD, SEN(write), "write" },
34[ 5] = { 3, TD|TF, SEN(open), "open" },
35[ 6] = { 1, TD, SEN(close), "close" },
36[ 7] = { 3, TP, SEN(waitpid), "waitpid" },
37[ 8] = { 2, TD|TF, SEN(creat), "creat" },
38[ 9] = { 2, TF, SEN(link), "link" },
39[ 10] = { 1, TF, SEN(unlink), "unlink" },
40[ 11] = { 3, TF|TP|SE|SI, SEN(execve), "execve" },
41[ 12] = { 1, TF, SEN(chdir), "chdir" },
42[ 13] = { 1, 0, SEN(time), "time" },
43[ 14] = { 3, TF, SEN(mknod), "mknod" },
44[ 15] = { 2, TF, SEN(chmod), "chmod" },
45[ 16] = { 3, TF, SEN(chown16), "lchown" },
46[ 17] = { 0, TM, SEN(break), "break" },
47[ 18] = { 2, TF, SEN(oldstat), "oldstat" },
48[ 19] = { 3, TD, SEN(lseek), "lseek" },
49[ 20] = { 0, 0, SEN(getpid), "getpid" },
50[ 21] = { 5, TF, SEN(mount), "mount" },
51[ 22] = { 1, TF, SEN(umount), "umount" },
52[ 23] = { 1, 0, SEN(setuid16), "setuid" },
53[ 24] = { 0, NF, SEN(getuid16), "getuid" },
54[ 25] = { 1, 0, SEN(stime), "stime" },
55[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
56[ 27] = { 1, 0, SEN(alarm), "alarm" },
57[ 28] = { 2, TD, SEN(oldfstat), "oldfstat" },
58[ 29] = { 0, TS, SEN(pause), "pause" },
59[ 30] = { 2, TF, SEN(utime), "utime" },
60[ 31] = { 2, 0, SEN(stty), "stty" },
61[ 32] = { 2, 0, SEN(gtty), "gtty" },
62[ 33] = { 2, TF, SEN(access), "access" },
63[ 34] = { 1, 0, SEN(nice), "nice" },
64[ 35] = { 0, 0, SEN(ftime), "ftime" },
65[ 36] = { 0, 0, SEN(sync), "sync" },
66[ 37] = { 2, TS, SEN(kill), "kill" },
67[ 38] = { 2, TF, SEN(rename), "rename" },
68[ 39] = { 2, TF, SEN(mkdir), "mkdir" },
69[ 40] = { 1, TF, SEN(rmdir), "rmdir" },
70[ 41] = { 1, TD, SEN(dup), "dup" },
71[ 42] = { 1, TD, SEN(pipe), "pipe" },
72[ 43] = { 1, 0, SEN(times), "times" },
73[ 44] = { 0, 0, SEN(prof), "prof" },
74[ 45] = { 1, TM|SI, SEN(brk), "brk" },
75[ 46] = { 1, 0, SEN(setgid16), "setgid" },
76[ 47] = { 0, NF, SEN(getgid16), "getgid" },
77[ 48] = { 3, TS, SEN(signal), "signal" },
78[ 49] = { 0, NF, SEN(geteuid16), "geteuid" },
79[ 50] = { 0, NF, SEN(getegid16), "getegid" },
80[ 51] = { 1, TF, SEN(acct), "acct" },
81[ 52] = { 2, TF, SEN(umount2), "umount2" },
82[ 53] = { 0, 0, SEN(lock), "lock" },
83[ 54] = { 3, TD, SEN(ioctl), "ioctl" },
84[ 55] = { 3, TD, SEN(fcntl), "fcntl" },
85[ 56] = { 0, 0, SEN(mpx), "mpx" },
86[ 57] = { 2, 0, SEN(setpgid), "setpgid" },
87[ 58] = { 2, 0, SEN(ulimit), "ulimit" },
88[ 59] = { 1, 0, SEN(oldolduname), "oldolduname" },
89[ 60] = { 1, 0, SEN(umask), "umask" },
90[ 61] = { 1, TF, SEN(chroot), "chroot" },
91[ 62] = { 2, 0, SEN(ustat), "ustat" },
92[ 63] = { 2, TD, SEN(dup2), "dup2" },
93[ 64] = { 0, 0, SEN(getppid), "getppid" },
94[ 65] = { 0, 0, SEN(getpgrp), "getpgrp" },
95[ 66] = { 0, 0, SEN(setsid), "setsid" },
96[ 67] = { 3, TS, SEN(sigaction), "sigaction" },
97[ 68] = { 0, TS, SEN(siggetmask), "sgetmask" },
98[ 69] = { 1, TS, SEN(sigsetmask), "ssetmask" },
99[ 70] = { 2, 0, SEN(setreuid16), "setreuid" },
100[ 71] = { 2, 0, SEN(setregid16), "setregid" },
101[ 72] = { 3, TS, SEN(sigsuspend), "sigsuspend" },
102[ 73] = { 1, TS, SEN(sigpending), "sigpending" },
103[ 74] = { 2, 0, SEN(sethostname), "sethostname" },
104[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
105[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
106[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
107[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
108[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
109[ 80] = { 2, 0, SEN(getgroups16), "getgroups" },
110[ 81] = { 2, 0, SEN(setgroups16), "setgroups" },
111[ 82] = { 1, TD, SEN(oldselect), "oldselect" },
112[ 83] = { 2, TF, SEN(symlink), "symlink" },
113[ 84] = { 2, TF, SEN(oldlstat), "oldlstat" },
114[ 85] = { 3, TF, SEN(readlink), "readlink" },
115[ 86] = { 1, TF, SEN(uselib), "uselib" },
116[ 87] = { 2, TF, SEN(swapon), "swapon" },
117[ 88] = { 4, 0, SEN(reboot), "reboot" },
118[ 89] = { 3, TD, SEN(readdir), "readdir" },
119[ 90] = { 1, TD|TM|SI, SEN(old_mmap), "mmap" },
120[ 91] = { 2, TM|SI, SEN(munmap), "munmap" },
121[ 92] = { 2, TF, SEN(truncate), "truncate" },
122[ 93] = { 2, TD, SEN(ftruncate), "ftruncate" },
123[ 94] = { 2, TD, SEN(fchmod), "fchmod" },
124[ 95] = { 3, TD, SEN(fchown16), "fchown" },
125[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
126[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
127[ 98] = { 4, 0, SEN(profil), "profil" },
128[ 99] = { 2, TF, SEN(statfs), "statfs" },
129[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
130[101] = { 3, 0, SEN(ioperm), "ioperm" },
131[102] = { 2, TD, SEN(socketcall), "socketcall" },
132[103] = { 3, 0, SEN(syslog), "syslog" },
133[104] = { 3, 0, SEN(setitimer), "setitimer" },
134[105] = { 2, 0, SEN(getitimer), "getitimer" },
135[106] = { 2, TF, SEN(stat), "stat" },
136[107] = { 2, TF, SEN(lstat), "lstat" },
137[108] = { 2, TD, SEN(fstat), "fstat" },
138[109] = { 1, 0, SEN(olduname), "olduname" },
139[110] = { 1, 0, SEN(iopl), "iopl" },
140[111] = { 0, 0, SEN(vhangup), "vhangup" },
141[112] = { 0, 0, SEN(idle), "idle" },
142[113] = { 5, 0, SEN(printargs), "syscall" },
143[114] = { 4, TP, SEN(wait4), "wait4" },
144[115] = { 1, TF, SEN(swapoff), "swapoff" },
145[116] = { 1, 0, SEN(sysinfo), "sysinfo" },
146[117] = { 6, TI, SEN(ipc), "ipc" },
147[118] = { 1, TD, SEN(fsync), "fsync" },
148[119] = { 0, TS, SEN(sigreturn), "sigreturn" },
149[120] = { 5, TP, SEN(clone), "clone" },
150[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
151[122] = { 1, 0, SEN(uname), "uname" },
152[123] = { 3, 0, SEN(modify_ldt), "modify_ldt" },
153[124] = { 1, 0, SEN(adjtimex), "adjtimex" },
154[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
155[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
156[127] = { 2, 0, SEN(create_module), "create_module" },
157[128] = { 3, 0, SEN(init_module), "init_module" },
158[129] = { 2, 0, SEN(delete_module), "delete_module" },
159[130] = { 1, 0, SEN(get_kernel_syms), "get_kernel_syms" },
160[131] = { 4, TF, SEN(quotactl), "quotactl" },
161[132] = { 1, 0, SEN(getpgid), "getpgid" },
162[133] = { 1, TD, SEN(fchdir), "fchdir" },
Dmitry V. Levina318cc02015-11-24 02:17:48 +0000163[134] = { 2, 0, SEN(bdflush), "bdflush" },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300164[135] = { 3, 0, SEN(sysfs), "sysfs" },
165[136] = { 1, 0, SEN(personality), "personality" },
166[137] = { 5, 0, SEN(afs_syscall), "afs_syscall" },
167[138] = { 1, NF, SEN(setfsuid16), "setfsuid" },
168[139] = { 1, NF, SEN(setfsgid16), "setfsgid" },
169[140] = { 5, TD, SEN(llseek), "_llseek" },
170[141] = { 3, TD, SEN(getdents), "getdents" },
171[142] = { 5, TD, SEN(select), "select" },
172[143] = { 2, TD, SEN(flock), "flock" },
173[144] = { 3, TM, SEN(msync), "msync" },
174[145] = { 3, TD, SEN(readv), "readv" },
175[146] = { 3, TD, SEN(writev), "writev" },
176[147] = { 1, 0, SEN(getsid), "getsid" },
177[148] = { 1, TD, SEN(fdatasync), "fdatasync" },
178[149] = { 1, 0, SEN(sysctl), "_sysctl" },
179[150] = { 2, TM, SEN(mlock), "mlock" },
180[151] = { 2, TM, SEN(munlock), "munlock" },
181[152] = { 1, TM, SEN(mlockall), "mlockall" },
182[153] = { 0, TM, SEN(munlockall), "munlockall" },
183[154] = { 2, 0, SEN(sched_setparam), "sched_setparam" },
184[155] = { 2, 0, SEN(sched_getparam), "sched_getparam" },
185[156] = { 3, 0, SEN(sched_setscheduler), "sched_setscheduler" },
186[157] = { 1, 0, SEN(sched_getscheduler), "sched_getscheduler" },
187[158] = { 0, 0, SEN(sched_yield), "sched_yield" },
188[159] = { 1, 0, SEN(sched_get_priority_max), "sched_get_priority_max"},
189[160] = { 1, 0, SEN(sched_get_priority_min), "sched_get_priority_min"},
190[161] = { 2, 0, SEN(sched_rr_get_interval), "sched_rr_get_interval" },
191[162] = { 2, 0, SEN(nanosleep), "nanosleep" },
192[163] = { 5, TM|SI, SEN(mremap), "mremap" },
193[164] = { 3, 0, SEN(setresuid16), "setresuid" },
194[165] = { 3, 0, SEN(getresuid16), "getresuid" },
195[166] = { 5, 0, SEN(vm86), "vm86" },
196[167] = { 5, 0, SEN(query_module), "query_module" },
197[168] = { 3, TD, SEN(poll), "poll" },
198[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
199[170] = { 3, 0, SEN(setresgid16), "setresgid" },
200[171] = { 3, 0, SEN(getresgid16), "getresgid" },
201[172] = { 5, 0, SEN(prctl), "prctl" },
202[173] = { 0, TS, SEN(rt_sigreturn), "rt_sigreturn" },
203[174] = { 4, TS, SEN(rt_sigaction), "rt_sigaction" },
204[175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" },
205[176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" },
206[177] = { 4, TS, SEN(rt_sigtimedwait), "rt_sigtimedwait" },
207[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" },
208[179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" },
209[180] = { 6, TD, SEN(pread), "pread64" },
210[181] = { 6, TD, SEN(pwrite), "pwrite64" },
211[182] = { 3, TF, SEN(chown16), "chown" },
212[183] = { 2, TF, SEN(getcwd), "getcwd" },
213[184] = { 2, 0, SEN(capget), "capget" },
214[185] = { 2, 0, SEN(capset), "capset" },
215[186] = { 2, TS, SEN(sigaltstack), "sigaltstack" },
216[187] = { 4, TD|TN, SEN(sendfile), "sendfile" },
Dmitry V. Levin329288b2015-11-24 02:45:11 +0000217[188] = { 5, TN, SEN(getpmsg), "getpmsg" },
218[189] = { 5, TN, SEN(putpmsg), "putpmsg" },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300219[190] = { 0, TP, SEN(vfork), "vfork" },
220[191] = { 2, 0, SEN(getrlimit), "ugetrlimit" },
221[192] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
222[193] = { 4, TF, SEN(truncate64), "truncate64" },
223[194] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
224[195] = { 2, TF, SEN(stat64), "stat64" },
225[196] = { 2, TF, SEN(lstat64), "lstat64" },
226[197] = { 2, TD, SEN(fstat64), "fstat64" },
227[198] = { 3, TF, SEN(chown), "lchown32" },
228[199] = { 0, NF, SEN(getuid), "getuid32" },
229[200] = { 0, NF, SEN(getgid), "getgid32" },
230[201] = { 0, NF, SEN(geteuid), "geteuid32" },
231[202] = { 0, NF, SEN(geteuid), "getegid32" },
232[203] = { 2, 0, SEN(setreuid), "setreuid32" },
233[204] = { 2, 0, SEN(setregid), "setregid32" },
234[205] = { 2, 0, SEN(getgroups), "getgroups32" },
235[206] = { 2, 0, SEN(setgroups), "setgroups32" },
236[207] = { 3, TD, SEN(fchown), "fchown32" },
237[208] = { 3, 0, SEN(setresuid), "setresuid32" },
238[209] = { 3, 0, SEN(getresuid), "getresuid32" },
239[210] = { 3, 0, SEN(setresgid), "setresgid32" },
240[211] = { 3, 0, SEN(getresgid), "getresgid32" },
241[212] = { 3, TF, SEN(chown), "chown32" },
242[213] = { 1, 0, SEN(setuid), "setuid32" },
243[214] = { 1, 0, SEN(setgid), "setgid32" },
244[215] = { 1, NF, SEN(setfsuid), "setfsuid32" },
245[216] = { 1, NF, SEN(setfsgid), "setfsgid32" },
246[217] = { 3, TD, SEN(getdents64), "getdents64" },
247[218] = { 2, TF, SEN(pivotroot), "pivot_root" },
248[219] = { 3, TM, SEN(mincore), "mincore" },
249[220] = { 3, TM, SEN(madvise), "madvise" },
Elvira Khabirova211d6ef2015-12-05 00:42:58 +0300250[221] = { 3, TD, SEN(fcntl64), "fcntl64" },
Dmitry V. Levin166b0bc2015-01-11 02:42:56 +0000251[222 ... 223] = { },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300252[224] = { 0, 0, SEN(gettid), "gettid" },
253[225] = { 5, TD, SEN(readahead), "readahead" },
254[226] = { 5, TF, SEN(setxattr), "setxattr" },
255[227] = { 5, TF, SEN(setxattr), "lsetxattr" },
256[228] = { 5, TD, SEN(fsetxattr), "fsetxattr" },
257[229] = { 4, TF, SEN(getxattr), "getxattr" },
258[230] = { 4, TF, SEN(getxattr), "lgetxattr" },
259[231] = { 4, TD, SEN(fgetxattr), "fgetxattr" },
260[232] = { 3, TF, SEN(listxattr), "listxattr" },
261[233] = { 3, TF, SEN(listxattr), "llistxattr" },
262[234] = { 3, TD, SEN(flistxattr), "flistxattr" },
263[235] = { 2, TF, SEN(removexattr), "removexattr" },
264[236] = { 2, TF, SEN(removexattr), "lremovexattr" },
265[237] = { 2, TD, SEN(fremovexattr), "fremovexattr" },
266[238] = { 2, TS, SEN(kill), "tkill" },
267[239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" },
268[240] = { 6, 0, SEN(futex), "futex" },
269[241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" },
270[242] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" },
271[243] = { 2, 0, SEN(io_setup), "io_setup" },
272[244] = { 1, 0, SEN(io_destroy), "io_destroy" },
273[245] = { 5, 0, SEN(io_getevents), "io_getevents" },
274[246] = { 3, 0, SEN(io_submit), "io_submit" },
275[247] = { 3, 0, SEN(io_cancel), "io_cancel" },
276[248] = { 1, TP|SE, SEN(exit), "exit_group" },
277[249] = { 4, 0, SEN(lookup_dcookie), "lookup_dcookie" },
278[250] = { 1, TD, SEN(epoll_create), "epoll_create" },
279[251] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" },
280[252] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
281[253] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" },
Dmitry V. Levin166b0bc2015-01-11 02:42:56 +0000282[254 ... 255] = { },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300283[256] = { 1, 0, SEN(set_tid_address), "set_tid_address" },
284[257] = { 3, 0, SEN(timer_create), "timer_create" },
285[258] = { 4, 0, SEN(timer_settime), "timer_settime" },
286[259] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
287[260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
288[261] = { 1, 0, SEN(timer_delete), "timer_delete" },
289[262] = { 2, 0, SEN(clock_settime), "clock_settime" },
290[263] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
291[264] = { 2, 0, SEN(clock_getres), "clock_getres" },
292[265] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
293[266] = { 3, TF, SEN(statfs64), "statfs64" },
294[267] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
295[268] = { 3, TS, SEN(tgkill), "tgkill" },
296[269] = { 2, TF, SEN(utimes), "utimes" },
297[270] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" },
298[271] = { 5, 0, SEN(printargs), "pciconfig_iobase" },
299[272] = { 5, 0, SEN(printargs), "pciconfig_read" },
300[273] = { 5, 0, SEN(printargs), "pciconfig_write" },
301[274] = { 4, 0, SEN(mq_open), "mq_open" },
302[275] = { 1, 0, SEN(mq_unlink), "mq_unlink" },
303[276] = { 5, 0, SEN(mq_timedsend), "mq_timedsend" },
304[277] = { 5, 0, SEN(mq_timedreceive), "mq_timedreceive" },
305[278] = { 2, 0, SEN(mq_notify), "mq_notify" },
306[279] = { 3, 0, SEN(mq_getsetattr), "mq_getsetattr" },
307[280] = { 5, TP, SEN(waitid), "waitid" },
308[281] = { 3, TN, SEN(socket), "socket" },
309[282] = { 3, TN, SEN(bind), "bind" },
310[283] = { 3, TN, SEN(connect), "connect" },
311[284] = { 2, TN, SEN(listen), "listen" },
312[285] = { 3, TN, SEN(accept), "accept" },
313[286] = { 3, TN, SEN(getsockname), "getsockname" },
314[287] = { 3, TN, SEN(getpeername), "getpeername" },
315[288] = { 4, TN, SEN(socketpair), "socketpair" },
316[289] = { 4, TN, SEN(send), "send" },
317[290] = { 6, TN, SEN(sendto), "sendto" },
318[291] = { 4, TN, SEN(recv), "recv" },
319[292] = { 6, TN, SEN(recvfrom), "recvfrom" },
320[293] = { 2, TN, SEN(shutdown), "shutdown" },
321[294] = { 5, TN, SEN(setsockopt), "setsockopt" },
322[295] = { 5, TN, SEN(getsockopt), "getsockopt" },
323[296] = { 3, TN, SEN(sendmsg), "sendmsg" },
324[297] = { 3, TN, SEN(recvmsg), "recvmsg" },
Dmitry V. Levin82841f72015-07-21 16:04:23 +0000325[298] = { 3, TI, SEN(semop), "semop" },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300326[299] = { 3, TI, SEN(semget), "semget" },
327[300] = { 4, TI, SEN(semctl), "semctl" },
328[301] = { 4, TI, SEN(msgsnd), "msgsnd" },
329[302] = { 4, TI, SEN(msgrcv), "msgrcv" },
330[303] = { 2, TI, SEN(msgget), "msgget" },
331[304] = { 4, TI, SEN(msgctl), "msgctl" },
332[305] = { 4, TI|TM|SI, SEN(shmat), "shmat" },
333[306] = { 4, TI|TM|SI, SEN(shmdt), "shmdt" },
334[307] = { 3, TI, SEN(shmget), "shmget" },
335[308] = { 4, TI, SEN(shmctl), "shmctl" },
336[309] = { 5, 0, SEN(add_key), "add_key" },
337[310] = { 4, 0, SEN(request_key), "request_key" },
338[311] = { 5, 0, SEN(keyctl), "keyctl" },
339[312] = { 5, TI, SEN(semtimedop), "semtimedop" },
340[313] = { 5, 0, SEN(vserver), "vserver" },
341[314] = { 3, 0, SEN(ioprio_set), "ioprio_set" },
342[315] = { 2, 0, SEN(ioprio_get), "ioprio_get" },
343[316] = { 0, TD, SEN(inotify_init), "inotify_init" },
344[317] = { 3, TD, SEN(inotify_add_watch), "inotify_add_watch" },
345[318] = { 2, TD, SEN(inotify_rm_watch), "inotify_rm_watch" },
346[319] = { 6, TM, SEN(mbind), "mbind" },
347[320] = { 3, TM, SEN(get_mempolicy), "get_mempolicy" },
348[321] = { 5, TM, SEN(set_mempolicy), "set_mempolicy" },
349[322] = { 4, TD|TF, SEN(openat), "openat" },
350[323] = { 3, TD|TF, SEN(mkdirat), "mkdirat" },
351[324] = { 4, TD|TF, SEN(mknodat), "mknodat" },
352[325] = { 5, TD|TF, SEN(fchownat), "fchownat" },
353[326] = { 3, TD|TF, SEN(futimesat), "futimesat" },
354[327] = { 4, TD|TF, SEN(newfstatat), "fstatat64" },
355[328] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
356[329] = { 4, TD|TF, SEN(renameat), "renameat" },
357[330] = { 5, TD|TF, SEN(linkat), "linkat" },
358[331] = { 3, TD|TF, SEN(symlinkat), "symlinkat" },
359[332] = { 4, TD|TF, SEN(readlinkat), "readlinkat" },
360[333] = { 3, TD|TF, SEN(fchmodat), "fchmodat" },
361[334] = { 3, TD|TF, SEN(faccessat), "faccessat" },
362[335] = { 6, TD, SEN(pselect6), "pselect6" },
363[336] = { 5, TD, SEN(ppoll), "ppoll" },
364[337] = { 1, TP, SEN(unshare), "unshare" },
365[338] = { 2, 0, SEN(set_robust_list), "set_robust_list" },
366[339] = { 3, 0, SEN(get_robust_list), "get_robust_list" },
367[340] = { 6, TD, SEN(splice), "splice" },
368[341] = { 6, TD, SEN(sync_file_range2), "sync_file_range2" },
369[342] = { 4, TD, SEN(tee), "tee" },
370[343] = { 4, TD, SEN(vmsplice), "vmsplice" },
371[344] = { 6, TM, SEN(move_pages), "move_pages" },
372[345] = { 3, 0, SEN(getcpu), "getcpu" },
373[346] = { 6, TD, SEN(epoll_pwait), "epoll_pwait" },
374[347] = { 4, 0, SEN(kexec_load), "kexec_load" },
375[348] = { 4, TD|TF, SEN(utimensat), "utimensat" },
376[349] = { 3, TD|TS, SEN(signalfd), "signalfd" },
377[350] = { 4, TD, SEN(timerfd_create), "timerfd_create" },
378[351] = { 1, TD, SEN(eventfd), "eventfd" },
379[352] = { 6, TD, SEN(fallocate), "fallocate" },
380[353] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" },
381[354] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" },
382[355] = { 4, TD|TS, SEN(signalfd4), "signalfd4" },
383[356] = { 2, TD, SEN(eventfd2), "eventfd2" },
384[357] = { 1, TD, SEN(epoll_create1), "epoll_create1" },
385[358] = { 3, TD, SEN(dup3), "dup3" },
386[359] = { 2, TD, SEN(pipe2), "pipe2" },
387[360] = { 1, TD, SEN(inotify_init1), "inotify_init1" },
388[361] = { 5, TD, SEN(preadv), "preadv" },
389[362] = { 5, TD, SEN(pwritev), "pwritev" },
390[363] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
391[364] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
392[365] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
393[366] = { 4, TN, SEN(accept4), "accept4" },
394[367] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
395[368] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
396[369] = { 4, 0, SEN(prlimit64), "prlimit64" },
397[370] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
398[371] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
399[372] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
400[373] = { 1, TD, SEN(syncfs), "syncfs" },
401[374] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
402[375] = { 2, TD, SEN(setns), "setns" },
403[376] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
404[377] = { 6, 0, SEN(process_vm_writev), "process_vm_writev" },
405[378] = { 5, 0, SEN(kcmp), "kcmp" },
406[379] = { 3, TD, SEN(finit_module), "finit_module" },
407[380] = { 3, 0, SEN(sched_setattr), "sched_setattr" },
408[381] = { 4, 0, SEN(sched_getattr), "sched_getattr" },
409[382] = { 5, TD|TF, SEN(renameat2), "renameat2" },
410[383] = { 3, 0, SEN(seccomp), "seccomp", },
411[384] = { 3, 0, SEN(getrandom), "getrandom", },
412[385] = { 2, TD, SEN(memfd_create), "memfd_create", },
413[386] = { 3, TD, SEN(bpf), "bpf", },
414[387] = { 5, TD|TF|TP|SE|SI, SEN(execveat), "execveat", },
Dmitry V. Levin401d4bd2015-11-15 02:37:51 +0000415[388] = { 1, TD, SEN(userfaultfd), "userfaultfd", },
416[389] = { 2, 0, SEN(membarrier), "membarrier", },
417[390] = { 3, TM, SEN(mlock2), "mlock2" },
418[391 ... 399] = { },
Roland McGrath9597e6d2004-10-19 23:29:27 +0000419
Denys Vlasenko7270de52013-02-21 15:46:34 +0100420#ifdef __ARM_EABI__
Dmitry V. Levin48ce4a32015-01-11 17:35:37 +0000421# define ARM_FIRST_SHUFFLED_SYSCALL 400
Denys Vlasenko7270de52013-02-21 15:46:34 +0100422#else
Dmitry V. Levin7c524f42015-01-11 13:56:40 +0000423# define SYS_socket_subcall 400
424# include "subcall.h"
Dmitry V. Levind77f7422015-02-26 22:05:45 +0000425# define ARM_FIRST_SHUFFLED_SYSCALL (SYS_ipc_subcall + SYS_ipc_nsubcalls)
Dmitry V. Levincf7248d2015-01-11 17:26:29 +0000426#endif /* !__ARM_EABI__ */
Denys Vlasenko7270de52013-02-21 15:46:34 +0100427
Dmitry V. Levin166b0bc2015-01-11 02:42:56 +0000428/*
429 * __ARM_NR_cmpxchg (0x000ffff0).
430 * Remapped by shuffle_scno() to be directly after ordinary syscalls
431 * in this table.
432 */
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300433[ARM_FIRST_SHUFFLED_SYSCALL ] = { 5, 0, SEN(printargs), "cmpxchg" },
Denys Vlasenko7270de52013-02-21 15:46:34 +0100434
Dmitry V. Levin166b0bc2015-01-11 02:42:56 +0000435/*
436 * ARM specific syscalls. Encoded with scno 0x000f00xx.
437 * Remapped by shuffle_scno() to be directly after __ARM_NR_cmpxchg.
438 */
439[ARM_FIRST_SHUFFLED_SYSCALL+1+0] = { },
Elvira Khabirova140ecf82015-07-10 22:24:48 +0300440[ARM_FIRST_SHUFFLED_SYSCALL+1+1] = { 5, 0, SEN(printargs), "breakpoint" },
441[ARM_FIRST_SHUFFLED_SYSCALL+1+2] = { 5, 0, SEN(printargs), "cacheflush" },
442[ARM_FIRST_SHUFFLED_SYSCALL+1+3] = { 5, 0, SEN(printargs), "usr26" },
443[ARM_FIRST_SHUFFLED_SYSCALL+1+4] = { 5, 0, SEN(printargs), "usr32" },
444[ARM_FIRST_SHUFFLED_SYSCALL+1+5] = { 5, 0, SEN(printargs), "set_tls" },
Denys Vlasenko7270de52013-02-21 15:46:34 +0100445#define ARM_LAST_SPECIAL_SYSCALL 5