2 * This file contains the table of syscall-handling functions.
3 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
5 * Largely rewritten by Cort Dougan (cort@cs.nmt.edu)
8 * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com)
9 * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com)
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version
14 * 2 of the License, or (at your option) any later version.
17 #include <linux/config.h>
18 #include <asm/ppc_asm.h>
21 #define SYSCALL(func) .llong .sys_##func,.sys_##func
22 #define COMPAT_SYS(func) .llong .sys_##func,.compat_sys_##func
23 #define PPC_SYS(func) .llong .ppc_##func,.ppc_##func
24 #define OLDSYS(func) .llong .sys_ni_syscall,.sys_ni_syscall
25 #define SYS32ONLY(func) .llong .sys_ni_syscall,.compat_sys_##func
26 #define SYSX(f, f3264, f32) .llong .f,.f3264
28 #define SYSCALL(func) .long sys_##func
29 #define COMPAT_SYS(func) .long sys_##func
30 #define PPC_SYS(func) .long ppc_##func
31 #define OLDSYS(func) .long sys_##func
32 #define SYS32ONLY(func) .long sys_##func
33 #define SYSX(f, f3264, f32) .long f32
37 #define sys_sigpending sys_ni_syscall
38 #define sys_old_getrlimit sys_ni_syscall
41 _GLOBAL(sys_call_table)
42 SYSCALL(restart_syscall)
61 SYSX(sys_lseek,ppc32_lseek,sys_lseek)
64 SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount)
101 SYSX(sys_ni_syscall,sys_olduname, sys_olduname)
114 SYS32ONLY(sigsuspend)
115 COMPAT_SYS(sigpending)
116 COMPAT_SYS(sethostname)
117 COMPAT_SYS(setrlimit)
118 COMPAT_SYS(old_getrlimit)
119 COMPAT_SYS(getrusage)
120 COMPAT_SYS(gettimeofday)
121 COMPAT_SYS(settimeofday)
122 COMPAT_SYS(getgroups)
123 COMPAT_SYS(setgroups)
124 SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
131 SYSX(sys_ni_syscall,old32_readdir,old_readdir)
138 COMPAT_SYS(getpriority)
139 COMPAT_SYS(setpriority)
144 COMPAT_SYS(socketcall)
146 COMPAT_SYS(setitimer)
147 COMPAT_SYS(getitimer)
151 SYSX(sys_ni_syscall,sys_uname,sys_uname)
163 COMPAT_SYS(setdomainname)
168 SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask)
171 SYSCALL(delete_module)
178 SYSX(ppc64_personality,ppc64_personality,sys_personality)
184 SYSX(sys_select,ppc32_select,ppc_select)
196 COMPAT_SYS(sched_setparam)
197 COMPAT_SYS(sched_getparam)
198 COMPAT_SYS(sched_setscheduler)
199 COMPAT_SYS(sched_getscheduler)
201 COMPAT_SYS(sched_get_priority_max)
202 COMPAT_SYS(sched_get_priority_min)
203 COMPAT_SYS(sched_rr_get_interval)
204 COMPAT_SYS(nanosleep)
210 COMPAT_SYS(nfsservctl)
214 COMPAT_SYS(rt_sigreturn)
215 COMPAT_SYS(rt_sigaction)
216 COMPAT_SYS(rt_sigprocmask)
217 COMPAT_SYS(rt_sigpending)
218 COMPAT_SYS(rt_sigtimedwait)
219 COMPAT_SYS(rt_sigqueueinfo)
220 COMPAT_SYS(rt_sigsuspend)
227 COMPAT_SYS(sigaltstack)
228 SYSX(sys_sendfile64,compat_sys_sendfile,sys_sendfile)
232 COMPAT_SYS(getrlimit)
233 COMPAT_SYS(readahead)
235 SYS32ONLY(truncate64)
236 SYS32ONLY(ftruncate64)
237 SYSX(sys_ni_syscall,sys_stat64,sys_stat64)
238 SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64)
239 SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64)
240 SYSCALL(pciconfig_read)
241 SYSCALL(pciconfig_write)
242 SYSCALL(pciconfig_iobase)
246 SYSX(sys_ni_syscall,compat_sys_fcntl64,sys_fcntl64)
261 SYSCALL(lremovexattr)
262 SYSCALL(fremovexattr)
264 COMPAT_SYS(sched_setaffinity)
265 COMPAT_SYS(sched_getaffinity)
268 SYS32ONLY(sendfile64)
271 COMPAT_SYS(io_getevents)
272 COMPAT_SYS(io_submit)
274 SYSCALL(set_tid_address)
275 SYSX(sys_fadvise64,ppc32_fadvise64,sys_fadvise64)
277 SYSX(sys_lookup_dcookie,ppc32_lookup_dcookie,sys_lookup_dcookie)
278 SYSCALL(epoll_create)
281 SYSCALL(remap_file_pages)
282 SYSX(sys_timer_create,compat_sys_timer_create,sys_timer_create)
283 COMPAT_SYS(timer_settime)
284 COMPAT_SYS(timer_gettime)
285 SYSCALL(timer_getoverrun)
286 SYSCALL(timer_delete)
287 COMPAT_SYS(clock_settime)
288 COMPAT_SYS(clock_gettime)
289 COMPAT_SYS(clock_getres)
290 COMPAT_SYS(clock_nanosleep)
291 SYSX(ppc64_swapcontext,ppc32_swapcontext,ppc_swapcontext)
295 COMPAT_SYS(fstatfs64)
296 SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64)
298 OLDSYS(debug_setcontext)
302 COMPAT_SYS(get_mempolicy)
303 COMPAT_SYS(set_mempolicy)
306 COMPAT_SYS(mq_timedsend)
307 COMPAT_SYS(mq_timedreceive)
308 COMPAT_SYS(mq_notify)
309 COMPAT_SYS(mq_getsetattr)
310 COMPAT_SYS(kexec_load)
312 COMPAT_SYS(request_key)
315 COMPAT_SYS(ioprio_set)
316 COMPAT_SYS(ioprio_get)
317 SYSCALL(inotify_init)
318 SYSCALL(inotify_add_watch)
319 SYSCALL(inotify_rm_watch)
332 COMPAT_SYS(futimesat)
333 SYSX(sys_newfstatat, sys_fstatat64, sys_fstatat64)
341 COMPAT_SYS(get_robust_list)
342 COMPAT_SYS(set_robust_list)
345 * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c
346 * as well when appropriate.