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 SYSCALL32(func) .llong .sys_##func,.sys32_##func
23 #define COMPAT_SYS(func) .llong .sys_##func,.compat_sys_##func
24 #define PPC_SYS(func) .llong .ppc_##func,.ppc_##func
25 #define OLDSYS(func) .llong .sys_ni_syscall,.sys_ni_syscall
26 #define SYS32ONLY(func) .llong .sys_ni_syscall,.sys32_##func
27 #define SYSX(f, f3264, f32) .llong .f,.f3264
29 #define SYSCALL(func) .long sys_##func
30 #define SYSCALL32(func) .long sys_##func
31 #define COMPAT_SYS(func) .long sys_##func
32 #define PPC_SYS(func) .long ppc_##func
33 #define OLDSYS(func) .long sys_##func
34 #define SYS32ONLY(func) .long sys_##func
35 #define SYSX(f, f3264, f32) .long f32
39 #define sys_sigpending sys_ni_syscall
40 #define sys_old_getrlimit sys_ni_syscall
42 #define ppc_rtas sys_ni_syscall
45 _GLOBAL(sys_call_table)
46 SYSCALL(restart_syscall)
59 SYSX(sys64_time,compat_sys_time,sys_time)
65 SYSX(sys_lseek,ppc32_lseek,sys_lseek)
68 SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount)
118 SYSX(sys_ni_syscall,ppc32_sigsuspend,ppc_sigsuspend)
119 COMPAT_SYS(sigpending)
120 SYSCALL32(sethostname)
121 COMPAT_SYS(setrlimit)
122 COMPAT_SYS(old_getrlimit)
123 COMPAT_SYS(getrusage)
124 SYSCALL32(gettimeofday)
125 SYSCALL32(settimeofday)
128 SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
135 SYSX(sys_ni_syscall,old32_readdir,old_readdir)
142 SYSCALL32(getpriority)
143 SYSCALL32(setpriority)
148 COMPAT_SYS(socketcall)
150 COMPAT_SYS(setitimer)
151 COMPAT_SYS(getitimer)
155 SYSX(sys_ni_syscall,sys32_uname,sys_uname)
165 SYSX(sys_ni_syscall,ppc32_sigreturn,sys_sigreturn)
167 SYSCALL32(setdomainname)
168 SYSX(ppc64_newuname,ppc64_newuname,sys_newuname)
172 SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask)
175 SYSCALL(delete_module)
182 SYSX(ppc64_personality,ppc64_personality,sys_personality)
188 SYSX(sys_select,ppc32_select,ppc_select)
200 SYSCALL32(sched_setparam)
201 SYSCALL32(sched_getparam)
202 SYSCALL32(sched_setscheduler)
203 SYSCALL32(sched_getscheduler)
205 SYSCALL32(sched_get_priority_max)
206 SYSCALL32(sched_get_priority_min)
207 SYSCALL32(sched_rr_get_interval)
208 COMPAT_SYS(nanosleep)
214 COMPAT_SYS(nfsservctl)
218 SYSX(ppc64_rt_sigreturn,ppc32_rt_sigreturn,sys_rt_sigreturn)
219 SYSCALL32(rt_sigaction)
220 SYSCALL32(rt_sigprocmask)
221 SYSCALL32(rt_sigpending)
222 COMPAT_SYS(rt_sigtimedwait)
223 SYSCALL32(rt_sigqueueinfo)
224 SYSX(ppc64_rt_sigsuspend,ppc32_rt_sigsuspend,ppc_rt_sigsuspend)
231 SYSCALL32(sigaltstack)
232 SYSX(sys_sendfile64,sys32_sendfile,sys_sendfile)
236 COMPAT_SYS(getrlimit)
239 SYS32ONLY(truncate64)
240 SYS32ONLY(ftruncate64)
241 SYSX(sys_ni_syscall,sys_stat64,sys_stat64)
242 SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64)
243 SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64)
244 SYSCALL32(pciconfig_read)
245 SYSCALL32(pciconfig_write)
246 SYSCALL32(pciconfig_iobase)
250 SYSX(sys_ni_syscall,compat_sys_fcntl64,sys_fcntl64)
265 SYSCALL(lremovexattr)
266 SYSCALL(fremovexattr)
268 COMPAT_SYS(sched_setaffinity)
269 COMPAT_SYS(sched_getaffinity)
272 SYS32ONLY(sendfile64)
275 COMPAT_SYS(io_getevents)
276 COMPAT_SYS(io_submit)
278 SYSCALL(set_tid_address)
279 SYSX(sys_fadvise64,ppc32_fadvise64,sys_fadvise64)
281 SYSX(sys_lookup_dcookie,ppc32_lookup_dcookie,sys_lookup_dcookie)
282 SYSCALL(epoll_create)
285 SYSCALL(remap_file_pages)
286 SYSX(sys_timer_create,ppc32_timer_create,sys_timer_create)
287 COMPAT_SYS(timer_settime)
288 COMPAT_SYS(timer_gettime)
289 SYSCALL(timer_getoverrun)
290 SYSCALL(timer_delete)
291 COMPAT_SYS(clock_settime)
292 COMPAT_SYS(clock_gettime)
293 COMPAT_SYS(clock_getres)
294 COMPAT_SYS(clock_nanosleep)
295 SYSX(ppc64_swapcontext,ppc32_swapcontext,ppc_swapcontext)
299 COMPAT_SYS(fstatfs64)
300 SYSX(sys_ni_syscall, ppc32_fadvise64_64, sys_fadvise64_64)
302 OLDSYS(debug_setcontext)
306 COMPAT_SYS(get_mempolicy)
307 COMPAT_SYS(set_mempolicy)
310 COMPAT_SYS(mq_timedsend)
311 COMPAT_SYS(mq_timedreceive)
312 COMPAT_SYS(mq_notify)
313 COMPAT_SYS(mq_getsetattr)
314 COMPAT_SYS(kexec_load)
316 SYSCALL32(request_key)
319 SYSCALL32(ioprio_set)
320 SYSCALL32(ioprio_get)
321 SYSCALL(inotify_init)
322 SYSCALL(inotify_add_watch)
323 SYSCALL(inotify_rm_watch)