blob: 821fc978673da819e99ef7a33ef45efb6e3442f6 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
7 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
8 * Copyright (C) 2001 MIPS Technologies, Inc.
9 * Copyright (C) 2004 Thiemo Seufer
10 *
11 * Hairy, the userspace application uses a different argument passing
12 * convention than the kernel, so we have to translate things from o32
13 * to ABI64 calling convention. 64-bit syscalls are also processed
14 * here for now.
15 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#include <linux/errno.h>
17#include <asm/asm.h>
18#include <asm/asmmacro.h>
Ralf Baechle192ef362006-07-07 14:07:18 +010019#include <asm/irqflags.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070020#include <asm/mipsregs.h>
21#include <asm/regdef.h>
22#include <asm/stackframe.h>
23#include <asm/thread_info.h>
24#include <asm/unistd.h>
25#include <asm/sysmips.h>
26
27 .align 5
28NESTED(handle_sys, PT_SIZE, sp)
29 .set noat
30 SAVE_SOME
Atsushi Nemotoeae6c0d2006-09-26 23:43:40 +090031 TRACE_IRQS_ON_RELOAD
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 STI
33 .set at
34 ld t1, PT_EPC(sp) # skip syscall on return
35
36 dsubu t0, v0, __NR_O32_Linux # check syscall number
37 sltiu t0, t0, __NR_O32_Linux_syscalls + 1
38 daddiu t1, 4 # skip to next instruction
39 sd t1, PT_EPC(sp)
40 beqz t0, not_o32_scall
41#if 0
42 SAVE_ALL
43 move a1, v0
44 PRINT("Scall %ld\n")
45 RESTORE_ALL
46#endif
47
48 /* We don't want to stumble over broken sign extensions from
49 userland. O32 does never use the upper half. */
50 sll a0, a0, 0
51 sll a1, a1, 0
52 sll a2, a2, 0
53 sll a3, a3, 0
54
55 dsll t0, v0, 3 # offset into table
56 ld t2, (sys_call_table - (__NR_O32_Linux * 8))(t0)
57
58 sd a3, PT_R26(sp) # save a3 for syscall restarting
59
60 /*
61 * More than four arguments. Try to deal with it by copying the
62 * stack arguments from the user stack to the kernel stack.
63 * This Sucks (TM).
64 *
65 * We intentionally keep the kernel stack a little below the top of
66 * userspace so we don't have to do a slower byte accurate check here.
67 */
68 ld t0, PT_R29(sp) # get old user stack pointer
69 daddu t1, t0, 32
70 bltz t1, bad_stack
71
721: lw a4, 16(t0) # argument #5 from usp
732: lw a5, 20(t0) # argument #6 from usp
743: lw a6, 24(t0) # argument #7 from usp
754: lw a7, 28(t0) # argument #8 from usp (for indirect syscalls)
76
77 .section __ex_table,"a"
78 PTR 1b, bad_stack
79 PTR 2b, bad_stack
80 PTR 3b, bad_stack
81 PTR 4b, bad_stack
82 .previous
83
84 li t1, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
85 LONG_L t0, TI_FLAGS($28) # syscall tracing enabled?
86 and t0, t1, t0
87 bnez t0, trace_a_syscall
88
89 jalr t2 # Do The Real Thing (TM)
90
91 li t0, -EMAXERRNO - 1 # error?
92 sltu t0, t0, v0
93 sd t0, PT_R7(sp) # set error flag
94 beqz t0, 1f
95
96 dnegu v0 # error
97 sd v0, PT_R0(sp) # flag for syscall restarting
981: sd v0, PT_R2(sp) # result
99
100o32_syscall_exit:
101 local_irq_disable # make need_resched and
102 # signals dont change between
103 # sampling and return
104 LONG_L a2, TI_FLAGS($28)
105 li t0, _TIF_ALLWORK_MASK
106 and t0, a2, t0
107 bnez t0, o32_syscall_exit_work
108
109 j restore_partial
110
111o32_syscall_exit_work:
112 j syscall_exit_work_partial
113
114/* ------------------------------------------------------------------------ */
115
116trace_a_syscall:
117 SAVE_STATIC
118 sd a4, PT_R8(sp) # Save argument registers
119 sd a5, PT_R9(sp)
120 sd a6, PT_R10(sp)
121 sd a7, PT_R11(sp) # For indirect syscalls
122
123 move s0, t2 # Save syscall pointer
124 move a0, sp
125 li a1, 0
126 jal do_syscall_trace
127
Ralf Baechle04a70522005-11-30 16:24:57 +0000128 move t0, s0
129 RESTORE_STATIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130 ld a0, PT_R4(sp) # Restore argument registers
131 ld a1, PT_R5(sp)
132 ld a2, PT_R6(sp)
133 ld a3, PT_R7(sp)
134 ld a4, PT_R8(sp)
135 ld a5, PT_R9(sp)
136 ld a6, PT_R10(sp)
137 ld a7, PT_R11(sp) # For indirect syscalls
Ralf Baechle04a70522005-11-30 16:24:57 +0000138 jalr t0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139
140 li t0, -EMAXERRNO - 1 # error?
141 sltu t0, t0, v0
142 sd t0, PT_R7(sp) # set error flag
143 beqz t0, 1f
144
145 dnegu v0 # error
146 sd v0, PT_R0(sp) # set flag for syscall restarting
1471: sd v0, PT_R2(sp) # result
148
149 j syscall_exit
150
151/* ------------------------------------------------------------------------ */
152
153 /*
154 * The stackpointer for a call with more than 4 arguments is bad.
155 */
156bad_stack:
157 dnegu v0 # error
158 sd v0, PT_R0(sp)
159 sd v0, PT_R2(sp)
160 li t0, 1 # set error flag
161 sd t0, PT_R7(sp)
162 j o32_syscall_exit
163
164not_o32_scall:
165 /*
166 * This is not an o32 compatibility syscall, pass it on
167 * to the 64-bit syscall handlers.
168 */
169#ifdef CONFIG_MIPS32_N32
170 j handle_sysn32
171#else
172 j handle_sys64
173#endif
174 END(handle_sys)
175
176LEAF(sys32_syscall)
Vlad Malove807f952008-11-18 15:05:46 -0800177 subu t0, a0, __NR_O32_Linux # check syscall number
178 sltiu v0, t0, __NR_O32_Linux_syscalls + 1
179 beqz t0, einval # do not recurse
180 dsll t1, t0, 3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 beqz v0, einval
Vlad Malove807f952008-11-18 15:05:46 -0800182 ld t2, sys_call_table(t1) # syscall routine
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183
184 move a0, a1 # shift argument registers
185 move a1, a2
186 move a2, a3
187 move a3, a4
188 move a4, a5
189 move a5, a6
190 move a6, a7
191 sd a0, PT_R4(sp) # ... and push back a0 - a3, some
192 sd a1, PT_R5(sp) # syscalls expect them there
193 sd a2, PT_R6(sp)
194 sd a3, PT_R7(sp)
195 sd a3, PT_R26(sp) # update a3 for syscall restarting
196 jr t2
197 /* Unreached */
198
David Daneyc6cb4df2008-10-31 11:23:09 -0700199einval: li v0, -ENOSYS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 jr ra
201 END(sys32_syscall)
202
203 .align 3
204 .type sys_call_table,@object
205sys_call_table:
206 PTR sys32_syscall /* 4000 */
207 PTR sys_exit
208 PTR sys_fork
209 PTR sys_read
210 PTR sys_write
Thiemo Seufer71552622006-05-28 15:02:53 +0100211 PTR compat_sys_open /* 4005 */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212 PTR sys_close
213 PTR sys_waitpid
214 PTR sys_creat
215 PTR sys_link
216 PTR sys_unlink /* 4010 */
217 PTR sys32_execve
218 PTR sys_chdir
219 PTR compat_sys_time
220 PTR sys_mknod
221 PTR sys_chmod /* 4015 */
222 PTR sys_lchown
223 PTR sys_ni_syscall
224 PTR sys_ni_syscall /* was sys_stat */
225 PTR sys_lseek
226 PTR sys_getpid /* 4020 */
Ralf Baechle089c7e72006-10-16 16:49:37 +0100227 PTR compat_sys_mount
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228 PTR sys_oldumount
229 PTR sys_setuid
230 PTR sys_getuid
231 PTR compat_sys_stime /* 4025 */
Thomas Bogendoerfer5d9a76c2008-08-17 16:49:25 +0200232 PTR compat_sys_ptrace
Linus Torvalds1da177e2005-04-16 15:20:36 -0700233 PTR sys_alarm
234 PTR sys_ni_syscall /* was sys_fstat */
235 PTR sys_pause
236 PTR compat_sys_utime /* 4030 */
237 PTR sys_ni_syscall
238 PTR sys_ni_syscall
239 PTR sys_access
240 PTR sys_nice
241 PTR sys_ni_syscall /* 4035 */
242 PTR sys_sync
243 PTR sys_kill
244 PTR sys_rename
245 PTR sys_mkdir
246 PTR sys_rmdir /* 4040 */
247 PTR sys_dup
Ralf Baechle8213bbf2008-07-20 13:16:46 +0100248 PTR sysm_pipe
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249 PTR compat_sys_times
250 PTR sys_ni_syscall
251 PTR sys_brk /* 4045 */
252 PTR sys_setgid
253 PTR sys_getgid
254 PTR sys_ni_syscall /* was signal 2 */
255 PTR sys_geteuid
256 PTR sys_getegid /* 4050 */
257 PTR sys_acct
258 PTR sys_umount
259 PTR sys_ni_syscall
260 PTR compat_sys_ioctl
261 PTR compat_sys_fcntl /* 4055 */
262 PTR sys_ni_syscall
263 PTR sys_setpgid
264 PTR sys_ni_syscall
265 PTR sys_olduname
266 PTR sys_umask /* 4060 */
267 PTR sys_chroot
Christoph Hellwig2b1c6bd2008-11-28 10:09:09 +0100268 PTR compat_sys_ustat
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269 PTR sys_dup2
270 PTR sys_getppid
271 PTR sys_getpgrp /* 4065 */
272 PTR sys_setsid
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000273 PTR sys_32_sigaction
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274 PTR sys_sgetmask
275 PTR sys_ssetmask
276 PTR sys_setreuid /* 4070 */
277 PTR sys_setregid
278 PTR sys32_sigsuspend
279 PTR compat_sys_sigpending
280 PTR sys_sethostname
281 PTR compat_sys_setrlimit /* 4075 */
282 PTR compat_sys_getrlimit
283 PTR compat_sys_getrusage
Christoph Hellwigb418da12008-10-15 22:02:06 -0700284 PTR compat_sys_gettimeofday
285 PTR compat_sys_settimeofday
Linus Torvalds1da177e2005-04-16 15:20:36 -0700286 PTR sys_getgroups /* 4080 */
287 PTR sys_setgroups
288 PTR sys_ni_syscall /* old_select */
289 PTR sys_symlink
290 PTR sys_ni_syscall /* was sys_lstat */
291 PTR sys_readlink /* 4085 */
292 PTR sys_uselib
293 PTR sys_swapon
294 PTR sys_reboot
Atsushi Nemoto2fd628f2006-02-21 15:59:00 +0900295 PTR compat_sys_old_readdir
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000296 PTR sys_mips_mmap /* 4090 */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297 PTR sys_munmap
298 PTR sys_truncate
299 PTR sys_ftruncate
300 PTR sys_fchmod
301 PTR sys_fchown /* 4095 */
302 PTR sys_getpriority
303 PTR sys_setpriority
304 PTR sys_ni_syscall
305 PTR compat_sys_statfs
306 PTR compat_sys_fstatfs /* 4100 */
307 PTR sys_ni_syscall /* sys_ioperm */
Ralf Baechle08274ce2007-02-27 01:11:28 +0000308 PTR compat_sys_socketcall
Linus Torvalds1da177e2005-04-16 15:20:36 -0700309 PTR sys_syslog
310 PTR compat_sys_setitimer
311 PTR compat_sys_getitimer /* 4105 */
312 PTR compat_sys_newstat
313 PTR compat_sys_newlstat
314 PTR compat_sys_newfstat
315 PTR sys_uname
316 PTR sys_ni_syscall /* sys_ioperm *//* 4110 */
317 PTR sys_vhangup
318 PTR sys_ni_syscall /* was sys_idle */
319 PTR sys_ni_syscall /* sys_vm86 */
Ralf Baechleb6e203d2005-02-16 21:18:52 +0000320 PTR compat_sys_wait4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700321 PTR sys_swapoff /* 4115 */
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800322 PTR compat_sys_sysinfo
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000323 PTR sys_32_ipc
Linus Torvalds1da177e2005-04-16 15:20:36 -0700324 PTR sys_fsync
325 PTR sys32_sigreturn
Ralf Baechle3c370262005-04-13 17:43:59 +0000326 PTR sys32_clone /* 4120 */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327 PTR sys_setdomainname
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000328 PTR sys_32_newuname
Linus Torvalds1da177e2005-04-16 15:20:36 -0700329 PTR sys_ni_syscall /* sys_modify_ldt */
Stephen Rothwell3158e942006-03-26 01:37:29 -0800330 PTR compat_sys_adjtimex
Linus Torvalds1da177e2005-04-16 15:20:36 -0700331 PTR sys_mprotect /* 4125 */
332 PTR compat_sys_sigprocmask
333 PTR sys_ni_syscall /* was creat_module */
334 PTR sys_init_module
335 PTR sys_delete_module
336 PTR sys_ni_syscall /* 4130, get_kernel_syms */
337 PTR sys_quotactl
338 PTR sys_getpgid
339 PTR sys_fchdir
340 PTR sys_bdflush
341 PTR sys_sysfs /* 4135 */
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000342 PTR sys_32_personality
Linus Torvalds1da177e2005-04-16 15:20:36 -0700343 PTR sys_ni_syscall /* for afs_syscall */
344 PTR sys_setfsuid
345 PTR sys_setfsgid
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000346 PTR sys_32_llseek /* 4140 */
Atsushi Nemoto2fd628f2006-02-21 15:59:00 +0900347 PTR compat_sys_getdents
Linus Torvalds1da177e2005-04-16 15:20:36 -0700348 PTR compat_sys_select
349 PTR sys_flock
350 PTR sys_msync
351 PTR compat_sys_readv /* 4145 */
352 PTR compat_sys_writev
353 PTR sys_cacheflush
354 PTR sys_cachectl
355 PTR sys_sysmips
356 PTR sys_ni_syscall /* 4150 */
357 PTR sys_getsid
358 PTR sys_fdatasync
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000359 PTR sys_32_sysctl
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360 PTR sys_mlock
361 PTR sys_munlock /* 4155 */
362 PTR sys_mlockall
363 PTR sys_munlockall
364 PTR sys_sched_setparam
365 PTR sys_sched_getparam
366 PTR sys_sched_setscheduler /* 4160 */
367 PTR sys_sched_getscheduler
368 PTR sys_sched_yield
369 PTR sys_sched_get_priority_max
370 PTR sys_sched_get_priority_min
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000371 PTR sys_32_sched_rr_get_interval /* 4165 */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372 PTR compat_sys_nanosleep
373 PTR sys_mremap
374 PTR sys_accept
375 PTR sys_bind
376 PTR sys_connect /* 4170 */
377 PTR sys_getpeername
378 PTR sys_getsockname
379 PTR sys_getsockopt
380 PTR sys_listen
Johannes Berg1dacc762009-07-01 11:26:02 +0000381 PTR compat_sys_recv /* 4175 */
382 PTR compat_sys_recvfrom
Linus Torvalds1da177e2005-04-16 15:20:36 -0700383 PTR compat_sys_recvmsg
384 PTR sys_send
385 PTR compat_sys_sendmsg
386 PTR sys_sendto /* 4180 */
387 PTR compat_sys_setsockopt
388 PTR sys_shutdown
389 PTR sys_socket
390 PTR sys_socketpair
391 PTR sys_setresuid /* 4185 */
392 PTR sys_getresuid
393 PTR sys_ni_syscall /* was query_module */
394 PTR sys_poll
Maciej W. Rozyckid547c5c2005-05-06 16:28:55 +0000395 PTR compat_sys_nfsservctl
Linus Torvalds1da177e2005-04-16 15:20:36 -0700396 PTR sys_setresgid /* 4190 */
397 PTR sys_getresgid
398 PTR sys_prctl
399 PTR sys32_rt_sigreturn
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000400 PTR sys_32_rt_sigaction
401 PTR sys_32_rt_sigprocmask /* 4195 */
402 PTR sys_32_rt_sigpending
Linus Torvalds1da177e2005-04-16 15:20:36 -0700403 PTR compat_sys_rt_sigtimedwait
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000404 PTR sys_32_rt_sigqueueinfo
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 PTR sys32_rt_sigsuspend
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000406 PTR sys_32_pread /* 4200 */
407 PTR sys_32_pwrite
Linus Torvalds1da177e2005-04-16 15:20:36 -0700408 PTR sys_chown
409 PTR sys_getcwd
410 PTR sys_capget
411 PTR sys_capset /* 4205 */
412 PTR sys32_sigaltstack
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000413 PTR sys_32_sendfile
Linus Torvalds1da177e2005-04-16 15:20:36 -0700414 PTR sys_ni_syscall
415 PTR sys_ni_syscall
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000416 PTR sys_mips_mmap2 /* 4210 */
417 PTR sys_32_truncate64
418 PTR sys_32_ftruncate64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700419 PTR sys_newstat
420 PTR sys_newlstat
421 PTR sys_newfstat /* 4215 */
422 PTR sys_pivot_root
423 PTR sys_mincore
424 PTR sys_madvise
425 PTR sys_getdents64
426 PTR compat_sys_fcntl64 /* 4220 */
427 PTR sys_ni_syscall
428 PTR sys_gettid
429 PTR sys32_readahead
430 PTR sys_setxattr
431 PTR sys_lsetxattr /* 4225 */
432 PTR sys_fsetxattr
433 PTR sys_getxattr
434 PTR sys_lgetxattr
435 PTR sys_fgetxattr
436 PTR sys_listxattr /* 4230 */
437 PTR sys_llistxattr
438 PTR sys_flistxattr
439 PTR sys_removexattr
440 PTR sys_lremovexattr
441 PTR sys_fremovexattr /* 4235 */
442 PTR sys_tkill
443 PTR sys_sendfile64
444 PTR compat_sys_futex
445 PTR compat_sys_sched_setaffinity
446 PTR compat_sys_sched_getaffinity /* 4240 */
447 PTR sys_io_setup
448 PTR sys_io_destroy
449 PTR sys_io_getevents
450 PTR sys_io_submit
451 PTR sys_io_cancel /* 4245 */
452 PTR sys_exit_group
453 PTR sys_lookup_dcookie
454 PTR sys_epoll_create
455 PTR sys_epoll_ctl
456 PTR sys_epoll_wait /* 4250 */
457 PTR sys_remap_file_pages
458 PTR sys_set_tid_address
459 PTR sys_restart_syscall
Atsushi Nemoto8676d2e2007-05-18 00:46:13 +0900460 PTR sys32_fadvise64_64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700461 PTR compat_sys_statfs64 /* 4255 */
462 PTR compat_sys_fstatfs64
Ralf Baechle821d3132007-02-27 01:21:17 +0000463 PTR compat_sys_timer_create
Linus Torvalds1da177e2005-04-16 15:20:36 -0700464 PTR compat_sys_timer_settime
465 PTR compat_sys_timer_gettime
466 PTR sys_timer_getoverrun /* 4260 */
467 PTR sys_timer_delete
468 PTR compat_sys_clock_settime
469 PTR compat_sys_clock_gettime
470 PTR compat_sys_clock_getres
471 PTR compat_sys_clock_nanosleep /* 4265 */
472 PTR sys_tgkill
473 PTR compat_sys_utimes
474 PTR sys_ni_syscall /* sys_mbind */
475 PTR sys_ni_syscall /* sys_get_mempolicy */
476 PTR sys_ni_syscall /* 4270 sys_set_mempolicy */
477 PTR compat_sys_mq_open
478 PTR sys_mq_unlink
479 PTR compat_sys_mq_timedsend
480 PTR compat_sys_mq_timedreceive
481 PTR compat_sys_mq_notify /* 4275 */
482 PTR compat_sys_mq_getsetattr
483 PTR sys_ni_syscall /* sys_vserver */
Ralf Baechledbda6ac2009-02-08 16:00:26 +0000484 PTR sys_32_waitid
Linus Torvalds1da177e2005-04-16 15:20:36 -0700485 PTR sys_ni_syscall /* available, was setaltroot */
486 PTR sys_add_key /* 4280 */
487 PTR sys_request_key
488 PTR sys_keyctl
Ralf Baechle3c370262005-04-13 17:43:59 +0000489 PTR sys_set_thread_area
Ralf Baechle7db36c82005-07-13 11:48:45 +0000490 PTR sys_inotify_init
491 PTR sys_inotify_add_watch /* 4285 */
492 PTR sys_inotify_rm_watch
Ralf Baechle72bf8912006-02-08 13:38:50 +0000493 PTR sys_migrate_pages
494 PTR compat_sys_openat
495 PTR sys_mkdirat
496 PTR sys_mknodat /* 4290 */
497 PTR sys_fchownat
498 PTR compat_sys_futimesat
Richard Sandiford63415db2006-09-17 20:30:46 +0100499 PTR sys_newfstatat
Ralf Baechle72bf8912006-02-08 13:38:50 +0000500 PTR sys_unlinkat
501 PTR sys_renameat /* 4295 */
502 PTR sys_linkat
503 PTR sys_symlinkat
504 PTR sys_readlinkat
505 PTR sys_fchmodat
506 PTR sys_faccessat /* 4300 */
Joseph S. Myers99d233f2007-01-10 12:30:50 +0000507 PTR compat_sys_pselect6
Ralf Baechle72bf8912006-02-08 13:38:50 +0000508 PTR sys_ppoll
509 PTR sys_unshare
Ralf Baechlef115da92006-03-31 09:27:20 +0100510 PTR sys_splice
Ralf Baechlea8d587a2006-04-01 07:49:21 +0100511 PTR sys32_sync_file_range /* 4305 */
Ralf Baechle136d47d2006-04-15 11:16:19 +0200512 PTR sys_tee
Ralf Baechle8d13cb22008-12-03 17:03:27 +0000513 PTR compat_sys_vmsplice
Ralf Baechle722cfd92006-07-02 16:31:14 +0100514 PTR compat_sys_move_pages
Atsushi Nemoto7fdeb042006-09-06 22:42:02 +0900515 PTR compat_sys_set_robust_list
516 PTR compat_sys_get_robust_list /* 4310 */
Nicolas Schichan583bb862006-10-18 15:14:55 +0200517 PTR compat_sys_kexec_load
Ralf Baechle991ea262006-10-29 21:07:40 +0000518 PTR sys_getcpu
Ralf Baechlee016c382007-02-24 21:15:11 +0000519 PTR compat_sys_epoll_pwait
Ralf Baechle08253b32007-03-06 17:04:49 +0000520 PTR sys_ioprio_set
521 PTR sys_ioprio_get /* 4315 */
Atsushi Nemoto7a6d4f32007-05-29 23:29:40 +0900522 PTR compat_sys_utimensat
523 PTR compat_sys_signalfd
Davide Libenzi4d672e72008-02-04 22:27:26 -0800524 PTR sys_ni_syscall
Atsushi Nemoto7a6d4f32007-05-29 23:29:40 +0900525 PTR sys_eventfd
Kyle McMartin422efb12007-09-28 13:15:20 -0400526 PTR sys32_fallocate /* 4320 */
Dmitri Vorobiev6783fe62008-02-19 00:02:37 +0300527 PTR sys_timerfd_create
David Daneyc7d16732009-04-16 09:20:17 -0700528 PTR compat_sys_timerfd_gettime
529 PTR compat_sys_timerfd_settime
Ralf Baechle3885b712008-07-31 11:16:43 +0100530 PTR compat_sys_signalfd4
531 PTR sys_eventfd2 /* 4325 */
532 PTR sys_epoll_create1
533 PTR sys_dup3
534 PTR sys_pipe2
535 PTR sys_inotify_init1
Ralf Baechleddd9e912009-04-02 16:59:24 -0700536 PTR compat_sys_preadv /* 4330 */
537 PTR compat_sys_pwritev
David Daney69f16c92009-06-26 09:53:57 -0700538 PTR compat_sys_rt_tgsigqueueinfo
539 PTR sys_perf_counter_open
Linus Torvalds1da177e2005-04-16 15:20:36 -0700540 .size sys_call_table,.-sys_call_table