]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/powerpc/kernel/systbl.S
[PATCH] common compat_sys_timer_create
[mirror_ubuntu-zesty-kernel.git] / arch / powerpc / kernel / systbl.S
CommitLineData
9994a338
PM
1/*
2 * This file contains the table of syscall-handling functions.
3 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
4 *
5 * Largely rewritten by Cort Dougan (cort@cs.nmt.edu)
6 * and Paul Mackerras.
7 *
8 * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com)
9 * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com)
10 *
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.
15 */
16
17#include <linux/config.h>
18#include <asm/ppc_asm.h>
19
20#ifdef CONFIG_PPC64
21#define SYSCALL(func) .llong .sys_##func,.sys_##func
9994a338
PM
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
b09a4913 25#define SYS32ONLY(func) .llong .sys_ni_syscall,.compat_sys_##func
9994a338
PM
26#define SYSX(f, f3264, f32) .llong .f,.f3264
27#else
28#define SYSCALL(func) .long sys_##func
9994a338
PM
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
34#endif
35
36#ifdef CONFIG_PPC64
37#define sys_sigpending sys_ni_syscall
38#define sys_old_getrlimit sys_ni_syscall
39#else
40#define ppc_rtas sys_ni_syscall
41#endif
42
43_GLOBAL(sys_call_table)
44SYSCALL(restart_syscall)
45SYSCALL(exit)
46PPC_SYS(fork)
47SYSCALL(read)
48SYSCALL(write)
49COMPAT_SYS(open)
50SYSCALL(close)
b09a4913
SR
51COMPAT_SYS(waitpid)
52COMPAT_SYS(creat)
9994a338
PM
53SYSCALL(link)
54SYSCALL(unlink)
b09a4913 55COMPAT_SYS(execve)
9994a338 56SYSCALL(chdir)
002ec58e 57COMPAT_SYS(time)
9994a338
PM
58SYSCALL(mknod)
59SYSCALL(chmod)
60SYSCALL(lchown)
61SYSCALL(ni_syscall)
62OLDSYS(stat)
63SYSX(sys_lseek,ppc32_lseek,sys_lseek)
64SYSCALL(getpid)
65COMPAT_SYS(mount)
66SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount)
67SYSCALL(setuid)
68SYSCALL(getuid)
69COMPAT_SYS(stime)
b09a4913 70COMPAT_SYS(ptrace)
9994a338
PM
71SYSCALL(alarm)
72OLDSYS(fstat)
b09a4913 73COMPAT_SYS(pause)
9994a338
PM
74COMPAT_SYS(utime)
75SYSCALL(ni_syscall)
76SYSCALL(ni_syscall)
b09a4913
SR
77COMPAT_SYS(access)
78COMPAT_SYS(nice)
9994a338
PM
79SYSCALL(ni_syscall)
80SYSCALL(sync)
b09a4913 81COMPAT_SYS(kill)
9994a338 82SYSCALL(rename)
b09a4913 83COMPAT_SYS(mkdir)
9994a338
PM
84SYSCALL(rmdir)
85SYSCALL(dup)
86SYSCALL(pipe)
87COMPAT_SYS(times)
88SYSCALL(ni_syscall)
89SYSCALL(brk)
90SYSCALL(setgid)
91SYSCALL(getgid)
92SYSCALL(signal)
93SYSCALL(geteuid)
94SYSCALL(getegid)
95SYSCALL(acct)
96SYSCALL(umount)
97SYSCALL(ni_syscall)
98COMPAT_SYS(ioctl)
99COMPAT_SYS(fcntl)
100SYSCALL(ni_syscall)
b09a4913 101COMPAT_SYS(setpgid)
9994a338 102SYSCALL(ni_syscall)
30286ef6 103SYSX(sys_ni_syscall,sys_olduname, sys_olduname)
b09a4913 104COMPAT_SYS(umask)
9994a338
PM
105SYSCALL(chroot)
106SYSCALL(ustat)
107SYSCALL(dup2)
108SYSCALL(getppid)
109SYSCALL(getpgrp)
110SYSCALL(setsid)
111SYS32ONLY(sigaction)
112SYSCALL(sgetmask)
b09a4913 113COMPAT_SYS(ssetmask)
9994a338
PM
114SYSCALL(setreuid)
115SYSCALL(setregid)
401d1f02 116SYS32ONLY(sigsuspend)
9994a338 117COMPAT_SYS(sigpending)
b09a4913 118COMPAT_SYS(sethostname)
9994a338
PM
119COMPAT_SYS(setrlimit)
120COMPAT_SYS(old_getrlimit)
121COMPAT_SYS(getrusage)
b09a4913
SR
122COMPAT_SYS(gettimeofday)
123COMPAT_SYS(settimeofday)
124COMPAT_SYS(getgroups)
125COMPAT_SYS(setgroups)
9994a338
PM
126SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
127SYSCALL(symlink)
128OLDSYS(lstat)
b09a4913 129COMPAT_SYS(readlink)
9994a338
PM
130SYSCALL(uselib)
131SYSCALL(swapon)
132SYSCALL(reboot)
133SYSX(sys_ni_syscall,old32_readdir,old_readdir)
134SYSCALL(mmap)
135SYSCALL(munmap)
136SYSCALL(truncate)
137SYSCALL(ftruncate)
138SYSCALL(fchmod)
139SYSCALL(fchown)
b09a4913
SR
140COMPAT_SYS(getpriority)
141COMPAT_SYS(setpriority)
9994a338
PM
142SYSCALL(ni_syscall)
143COMPAT_SYS(statfs)
144COMPAT_SYS(fstatfs)
145SYSCALL(ni_syscall)
146COMPAT_SYS(socketcall)
b09a4913 147COMPAT_SYS(syslog)
9994a338
PM
148COMPAT_SYS(setitimer)
149COMPAT_SYS(getitimer)
150COMPAT_SYS(newstat)
151COMPAT_SYS(newlstat)
152COMPAT_SYS(newfstat)
30286ef6 153SYSX(sys_ni_syscall,sys_uname,sys_uname)
9994a338
PM
154SYSCALL(ni_syscall)
155SYSCALL(vhangup)
156SYSCALL(ni_syscall)
157SYSCALL(ni_syscall)
158COMPAT_SYS(wait4)
159SYSCALL(swapoff)
b09a4913
SR
160COMPAT_SYS(sysinfo)
161COMPAT_SYS(ipc)
9994a338 162SYSCALL(fsync)
401d1f02 163SYS32ONLY(sigreturn)
9994a338 164PPC_SYS(clone)
b09a4913 165COMPAT_SYS(setdomainname)
30286ef6 166PPC_SYS(newuname)
9994a338 167SYSCALL(ni_syscall)
b09a4913 168COMPAT_SYS(adjtimex)
9994a338
PM
169SYSCALL(mprotect)
170SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask)
171SYSCALL(ni_syscall)
172SYSCALL(init_module)
173SYSCALL(delete_module)
174SYSCALL(ni_syscall)
175SYSCALL(quotactl)
b09a4913 176COMPAT_SYS(getpgid)
9994a338
PM
177SYSCALL(fchdir)
178SYSCALL(bdflush)
b09a4913 179COMPAT_SYS(sysfs)
9994a338
PM
180SYSX(ppc64_personality,ppc64_personality,sys_personality)
181SYSCALL(ni_syscall)
182SYSCALL(setfsuid)
183SYSCALL(setfsgid)
184SYSCALL(llseek)
b09a4913 185COMPAT_SYS(getdents)
9994a338
PM
186SYSX(sys_select,ppc32_select,ppc_select)
187SYSCALL(flock)
188SYSCALL(msync)
189COMPAT_SYS(readv)
190COMPAT_SYS(writev)
b09a4913 191COMPAT_SYS(getsid)
9994a338 192SYSCALL(fdatasync)
b09a4913 193COMPAT_SYS(sysctl)
9994a338
PM
194SYSCALL(mlock)
195SYSCALL(munlock)
196SYSCALL(mlockall)
197SYSCALL(munlockall)
b09a4913
SR
198COMPAT_SYS(sched_setparam)
199COMPAT_SYS(sched_getparam)
200COMPAT_SYS(sched_setscheduler)
201COMPAT_SYS(sched_getscheduler)
9994a338 202SYSCALL(sched_yield)
b09a4913
SR
203COMPAT_SYS(sched_get_priority_max)
204COMPAT_SYS(sched_get_priority_min)
205COMPAT_SYS(sched_rr_get_interval)
9994a338
PM
206COMPAT_SYS(nanosleep)
207SYSCALL(mremap)
208SYSCALL(setresuid)
209SYSCALL(getresuid)
210SYSCALL(ni_syscall)
211SYSCALL(poll)
212COMPAT_SYS(nfsservctl)
213SYSCALL(setresgid)
214SYSCALL(getresgid)
b09a4913 215COMPAT_SYS(prctl)
401d1f02 216COMPAT_SYS(rt_sigreturn)
b09a4913
SR
217COMPAT_SYS(rt_sigaction)
218COMPAT_SYS(rt_sigprocmask)
219COMPAT_SYS(rt_sigpending)
9994a338 220COMPAT_SYS(rt_sigtimedwait)
b09a4913 221COMPAT_SYS(rt_sigqueueinfo)
401d1f02 222COMPAT_SYS(rt_sigsuspend)
b09a4913
SR
223COMPAT_SYS(pread64)
224COMPAT_SYS(pwrite64)
9994a338
PM
225SYSCALL(chown)
226SYSCALL(getcwd)
227SYSCALL(capget)
228SYSCALL(capset)
b09a4913
SR
229COMPAT_SYS(sigaltstack)
230SYSX(sys_sendfile64,compat_sys_sendfile,sys_sendfile)
9994a338
PM
231SYSCALL(ni_syscall)
232SYSCALL(ni_syscall)
233PPC_SYS(vfork)
234COMPAT_SYS(getrlimit)
b09a4913 235COMPAT_SYS(readahead)
9994a338
PM
236SYS32ONLY(mmap2)
237SYS32ONLY(truncate64)
238SYS32ONLY(ftruncate64)
239SYSX(sys_ni_syscall,sys_stat64,sys_stat64)
240SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64)
241SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64)
b09a4913
SR
242COMPAT_SYS(pciconfig_read)
243COMPAT_SYS(pciconfig_write)
244COMPAT_SYS(pciconfig_iobase)
9994a338
PM
245SYSCALL(ni_syscall)
246SYSCALL(getdents64)
247SYSCALL(pivot_root)
248SYSX(sys_ni_syscall,compat_sys_fcntl64,sys_fcntl64)
249SYSCALL(madvise)
250SYSCALL(mincore)
251SYSCALL(gettid)
252SYSCALL(tkill)
253SYSCALL(setxattr)
254SYSCALL(lsetxattr)
255SYSCALL(fsetxattr)
256SYSCALL(getxattr)
257SYSCALL(lgetxattr)
258SYSCALL(fgetxattr)
259SYSCALL(listxattr)
260SYSCALL(llistxattr)
261SYSCALL(flistxattr)
262SYSCALL(removexattr)
263SYSCALL(lremovexattr)
264SYSCALL(fremovexattr)
265COMPAT_SYS(futex)
266COMPAT_SYS(sched_setaffinity)
267COMPAT_SYS(sched_getaffinity)
268SYSCALL(ni_syscall)
269SYSCALL(ni_syscall)
270SYS32ONLY(sendfile64)
271COMPAT_SYS(io_setup)
272SYSCALL(io_destroy)
273COMPAT_SYS(io_getevents)
274COMPAT_SYS(io_submit)
275SYSCALL(io_cancel)
276SYSCALL(set_tid_address)
277SYSX(sys_fadvise64,ppc32_fadvise64,sys_fadvise64)
278SYSCALL(exit_group)
279SYSX(sys_lookup_dcookie,ppc32_lookup_dcookie,sys_lookup_dcookie)
280SYSCALL(epoll_create)
281SYSCALL(epoll_ctl)
282SYSCALL(epoll_wait)
283SYSCALL(remap_file_pages)
3a0f69d5 284SYSX(sys_timer_create,compat_sys_timer_create,sys_timer_create)
9994a338
PM
285COMPAT_SYS(timer_settime)
286COMPAT_SYS(timer_gettime)
287SYSCALL(timer_getoverrun)
288SYSCALL(timer_delete)
289COMPAT_SYS(clock_settime)
290COMPAT_SYS(clock_gettime)
291COMPAT_SYS(clock_getres)
292COMPAT_SYS(clock_nanosleep)
401d1f02 293COMPAT_SYS(swapcontext)
b09a4913
SR
294COMPAT_SYS(tgkill)
295COMPAT_SYS(utimes)
9994a338
PM
296COMPAT_SYS(statfs64)
297COMPAT_SYS(fstatfs64)
77f543cb 298SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64)
9994a338
PM
299PPC_SYS(rtas)
300OLDSYS(debug_setcontext)
301SYSCALL(ni_syscall)
302SYSCALL(ni_syscall)
303COMPAT_SYS(mbind)
304COMPAT_SYS(get_mempolicy)
305COMPAT_SYS(set_mempolicy)
306COMPAT_SYS(mq_open)
307SYSCALL(mq_unlink)
308COMPAT_SYS(mq_timedsend)
309COMPAT_SYS(mq_timedreceive)
310COMPAT_SYS(mq_notify)
311COMPAT_SYS(mq_getsetattr)
312COMPAT_SYS(kexec_load)
b09a4913
SR
313COMPAT_SYS(add_key)
314COMPAT_SYS(request_key)
9994a338
PM
315COMPAT_SYS(keyctl)
316COMPAT_SYS(waitid)
b09a4913
SR
317COMPAT_SYS(ioprio_set)
318COMPAT_SYS(ioprio_get)
9994a338
PM
319SYSCALL(inotify_init)
320SYSCALL(inotify_add_watch)
321SYSCALL(inotify_rm_watch)
67207b96
AB
322SYSCALL(spu_run)
323SYSCALL(spu_create)