ARM: 7409/1: Do not call flush_cache_user_range with mmap_sem held
[linux/fpc-iii.git] / arch / sh / kernel / syscalls_64.S
blob089c4d825d087a27585a295ee7509d409a76b786
1 /*
2  * arch/sh/kernel/syscalls_64.S
3  *
4  * Copyright (C) 2000, 2001  Paolo Alberelli
5  * Copyright (C) 2004 - 2007  Paul Mundt
6  * Copyright (C) 2003, 2004 Richard Curnow
7  *
8  * This file is subject to the terms and conditions of the GNU General Public
9  * License.  See the file "COPYING" in the main directory of this archive
10  * for more details.
11  */
13 #include <linux/sys.h>
15         .section .data, "aw"
16         .balign 32
19  * System calls jump table
20  */
21         .globl  sys_call_table
22 sys_call_table:
23         .long sys_restart_syscall       /* 0  -  old "setup()" system call  */
24         .long sys_exit
25         .long sys_fork
26         .long sys_read
27         .long sys_write
28         .long sys_open                  /* 5 */
29         .long sys_close
30         .long sys_waitpid
31         .long sys_creat
32         .long sys_link
33         .long sys_unlink                /* 10 */
34         .long sys_execve
35         .long sys_chdir
36         .long sys_time
37         .long sys_mknod
38         .long sys_chmod                 /* 15 */
39         .long sys_lchown16
40         .long sys_ni_syscall    /* old break syscall holder */
41         .long sys_stat
42         .long sys_lseek
43         .long sys_getpid                /* 20 */
44         .long sys_mount
45         .long sys_oldumount
46         .long sys_setuid16
47         .long sys_getuid16
48         .long sys_stime                 /* 25 */
49         .long sh64_ptrace
50         .long sys_alarm
51         .long sys_fstat
52         .long sys_pause
53         .long sys_utime                 /* 30 */
54         .long sys_ni_syscall    /* old stty syscall holder */
55         .long sys_ni_syscall    /* old gtty syscall holder */
56         .long sys_access
57         .long sys_nice
58         .long sys_ni_syscall            /* 35 */ /* old ftime syscall holder */
59         .long sys_sync
60         .long sys_kill
61         .long sys_rename
62         .long sys_mkdir
63         .long sys_rmdir                 /* 40 */
64         .long sys_dup
65         .long sys_pipe
66         .long sys_times
67         .long sys_ni_syscall    /* old prof syscall holder */
68         .long sys_brk                   /* 45 */
69         .long sys_setgid16
70         .long sys_getgid16
71         .long sys_signal
72         .long sys_geteuid16
73         .long sys_getegid16             /* 50 */
74         .long sys_acct
75         .long sys_umount                /* recycled never used phys( */
76         .long sys_ni_syscall    /* old lock syscall holder */
77         .long sys_ioctl
78         .long sys_fcntl                 /* 55 */
79         .long sys_ni_syscall    /* old mpx syscall holder */
80         .long sys_setpgid
81         .long sys_ni_syscall    /* old ulimit syscall holder */
82         .long sys_ni_syscall    /* sys_olduname */
83         .long sys_umask                 /* 60 */
84         .long sys_chroot
85         .long sys_ustat
86         .long sys_dup2
87         .long sys_getppid
88         .long sys_getpgrp               /* 65 */
89         .long sys_setsid
90         .long sys_sigaction
91         .long sys_sgetmask
92         .long sys_ssetmask
93         .long sys_setreuid16            /* 70 */
94         .long sys_setregid16
95         .long sys_sigsuspend
96         .long sys_sigpending
97         .long sys_sethostname
98         .long sys_setrlimit             /* 75 */
99         .long sys_old_getrlimit
100         .long sys_getrusage
101         .long sys_gettimeofday
102         .long sys_settimeofday
103         .long sys_getgroups16           /* 80 */
104         .long sys_setgroups16
105         .long sys_ni_syscall    /* sys_oldselect */
106         .long sys_symlink
107         .long sys_lstat
108         .long sys_readlink              /* 85 */
109         .long sys_uselib
110         .long sys_swapon
111         .long sys_reboot
112         .long sys_old_readdir
113         .long old_mmap                  /* 90 */
114         .long sys_munmap
115         .long sys_truncate
116         .long sys_ftruncate
117         .long sys_fchmod
118         .long sys_fchown16              /* 95 */
119         .long sys_getpriority
120         .long sys_setpriority
121         .long sys_ni_syscall    /* old profil syscall holder */
122         .long sys_statfs
123         .long sys_fstatfs               /* 100 */
124         .long sys_ni_syscall    /* ioperm */
125         .long sys_socketcall    /* Obsolete implementation of socket syscall */
126         .long sys_syslog
127         .long sys_setitimer
128         .long sys_getitimer             /* 105 */
129         .long sys_newstat
130         .long sys_newlstat
131         .long sys_newfstat
132         .long sys_uname
133         .long sys_ni_syscall            /* 110 */ /* iopl */
134         .long sys_vhangup
135         .long sys_ni_syscall    /* idle */
136         .long sys_ni_syscall    /* vm86old */
137         .long sys_wait4
138         .long sys_swapoff               /* 115 */
139         .long sys_sysinfo
140         .long sys_ipc           /* Obsolete ipc syscall implementation */
141         .long sys_fsync
142         .long sys_sigreturn
143         .long sys_clone                 /* 120 */
144         .long sys_setdomainname
145         .long sys_newuname
146         .long sys_cacheflush    /* x86: sys_modify_ldt */
147         .long sys_adjtimex
148         .long sys_mprotect              /* 125 */
149         .long sys_sigprocmask
150         .long sys_ni_syscall            /* old "create_module" */
151         .long sys_init_module
152         .long sys_delete_module
153         .long sys_ni_syscall            /* 130: old "get_kernel_syms" */
154         .long sys_quotactl
155         .long sys_getpgid
156         .long sys_fchdir
157         .long sys_bdflush
158         .long sys_sysfs                 /* 135 */
159         .long sys_personality
160         .long sys_ni_syscall    /* for afs_syscall */
161         .long sys_setfsuid16
162         .long sys_setfsgid16
163         .long sys_llseek                /* 140 */
164         .long sys_getdents
165         .long sys_select
166         .long sys_flock
167         .long sys_msync
168         .long sys_readv                 /* 145 */
169         .long sys_writev
170         .long sys_getsid
171         .long sys_fdatasync
172         .long sys_sysctl
173         .long sys_mlock                 /* 150 */
174         .long sys_munlock
175         .long sys_mlockall
176         .long sys_munlockall
177         .long sys_sched_setparam
178         .long sys_sched_getparam        /* 155 */
179         .long sys_sched_setscheduler
180         .long sys_sched_getscheduler
181         .long sys_sched_yield
182         .long sys_sched_get_priority_max
183         .long sys_sched_get_priority_min  /* 160 */
184         .long sys_sched_rr_get_interval
185         .long sys_nanosleep
186         .long sys_mremap
187         .long sys_setresuid16
188         .long sys_getresuid16           /* 165 */
189         .long sys_ni_syscall    /* vm86 */
190         .long sys_ni_syscall    /* old "query_module" */
191         .long sys_poll
192         .long sys_nfsservctl
193         .long sys_setresgid16           /* 170 */
194         .long sys_getresgid16
195         .long sys_prctl
196         .long sys_rt_sigreturn
197         .long sys_rt_sigaction
198         .long sys_rt_sigprocmask        /* 175 */
199         .long sys_rt_sigpending
200         .long sys_rt_sigtimedwait
201         .long sys_rt_sigqueueinfo
202         .long sys_rt_sigsuspend
203         .long sys_pread64               /* 180 */
204         .long sys_pwrite64
205         .long sys_chown16
206         .long sys_getcwd
207         .long sys_capget
208         .long sys_capset                /* 185 */
209         .long sys_sigaltstack
210         .long sys_sendfile
211         .long sys_ni_syscall    /* streams1 */
212         .long sys_ni_syscall    /* streams2 */
213         .long sys_vfork                 /* 190 */
214         .long sys_getrlimit
215         .long sys_mmap2
216         .long sys_truncate64
217         .long sys_ftruncate64
218         .long sys_stat64                /* 195 */
219         .long sys_lstat64
220         .long sys_fstat64
221         .long sys_lchown
222         .long sys_getuid
223         .long sys_getgid                /* 200 */
224         .long sys_geteuid
225         .long sys_getegid
226         .long sys_setreuid
227         .long sys_setregid
228         .long sys_getgroups             /* 205 */
229         .long sys_setgroups
230         .long sys_fchown
231         .long sys_setresuid
232         .long sys_getresuid
233         .long sys_setresgid             /* 210 */
234         .long sys_getresgid
235         .long sys_chown
236         .long sys_setuid
237         .long sys_setgid
238         .long sys_setfsuid              /* 215 */
239         .long sys_setfsgid
240         .long sys_pivot_root
241         .long sys_mincore
242         .long sys_madvise
243         /* Broken-out socket family (maintain backwards compatibility in syscall
244            numbering with 2.4) */
245         .long sys_socket                /* 220 */
246         .long sys_bind
247         .long sys_connect
248         .long sys_listen
249         .long sys_accept
250         .long sys_getsockname           /* 225 */
251         .long sys_getpeername
252         .long sys_socketpair
253         .long sys_send
254         .long sys_sendto
255         .long sys_recv                  /* 230*/
256         .long sys_recvfrom
257         .long sys_shutdown
258         .long sys_setsockopt
259         .long sys_getsockopt
260         .long sys_sendmsg               /* 235 */
261         .long sys_recvmsg
262         /* Broken-out IPC family (maintain backwards compatibility in syscall
263            numbering with 2.4) */
264         .long sys_semop
265         .long sys_semget
266         .long sys_semctl
267         .long sys_msgsnd                /* 240 */
268         .long sys_msgrcv
269         .long sys_msgget
270         .long sys_msgctl
271         .long sys_shmat
272         .long sys_shmdt                 /* 245 */
273         .long sys_shmget
274         .long sys_shmctl
275         /* Rest of syscalls listed in 2.4 i386 unistd.h */
276         .long sys_getdents64
277         .long sys_fcntl64
278         .long sys_ni_syscall            /* 250 reserved for TUX */
279         .long sys_ni_syscall            /* Reserved for Security */
280         .long sys_gettid
281         .long sys_readahead
282         .long sys_setxattr
283         .long sys_lsetxattr             /* 255 */
284         .long sys_fsetxattr
285         .long sys_getxattr
286         .long sys_lgetxattr
287         .long sys_fgetxattr
288         .long sys_listxattr             /* 260 */
289         .long sys_llistxattr
290         .long sys_flistxattr
291         .long sys_removexattr
292         .long sys_lremovexattr
293         .long sys_fremovexattr          /* 265 */
294         .long sys_tkill
295         .long sys_sendfile64
296         .long sys_futex
297         .long sys_sched_setaffinity
298         .long sys_sched_getaffinity     /* 270 */
299         .long sys_ni_syscall
300         .long sys_ni_syscall
301         .long sys_io_setup
302         .long sys_io_destroy
303         .long sys_io_getevents          /* 275 */
304         .long sys_io_submit
305         .long sys_io_cancel
306         .long sys_fadvise64
307         .long sys_ni_syscall
308         .long sys_exit_group            /* 280 */
309         /* Rest of new 2.6 syscalls */
310         .long sys_lookup_dcookie
311         .long sys_epoll_create
312         .long sys_epoll_ctl
313         .long sys_epoll_wait
314         .long sys_remap_file_pages      /* 285 */
315         .long sys_set_tid_address
316         .long sys_timer_create
317         .long sys_timer_settime
318         .long sys_timer_gettime
319         .long sys_timer_getoverrun      /* 290 */
320         .long sys_timer_delete
321         .long sys_clock_settime
322         .long sys_clock_gettime
323         .long sys_clock_getres
324         .long sys_clock_nanosleep       /* 295 */
325         .long sys_statfs64
326         .long sys_fstatfs64
327         .long sys_tgkill
328         .long sys_utimes
329         .long sys_fadvise64_64          /* 300 */
330         .long sys_ni_syscall    /* Reserved for vserver */
331         .long sys_ni_syscall    /* Reserved for mbind */
332         .long sys_ni_syscall    /* get_mempolicy */
333         .long sys_ni_syscall    /* set_mempolicy */
334         .long sys_mq_open               /* 305 */
335         .long sys_mq_unlink
336         .long sys_mq_timedsend
337         .long sys_mq_timedreceive
338         .long sys_mq_notify
339         .long sys_mq_getsetattr         /* 310 */
340         .long sys_ni_syscall    /* Reserved for kexec */
341         .long sys_waitid
342         .long sys_add_key
343         .long sys_request_key
344         .long sys_keyctl                /* 315 */
345         .long sys_ioprio_set
346         .long sys_ioprio_get
347         .long sys_inotify_init
348         .long sys_inotify_add_watch
349         .long sys_inotify_rm_watch      /* 320 */
350         .long sys_ni_syscall
351         .long sys_migrate_pages
352         .long sys_openat
353         .long sys_mkdirat
354         .long sys_mknodat               /* 325 */
355         .long sys_fchownat
356         .long sys_futimesat
357         .long sys_fstatat64
358         .long sys_unlinkat
359         .long sys_renameat              /* 330 */
360         .long sys_linkat
361         .long sys_symlinkat
362         .long sys_readlinkat
363         .long sys_fchmodat
364         .long sys_faccessat             /* 335 */
365         .long sys_pselect6
366         .long sys_ppoll
367         .long sys_unshare
368         .long sys_set_robust_list
369         .long sys_get_robust_list       /* 340 */
370         .long sys_splice
371         .long sys_sync_file_range
372         .long sys_tee
373         .long sys_vmsplice
374         .long sys_move_pages            /* 345 */
375         .long sys_getcpu
376         .long sys_epoll_pwait
377         .long sys_utimensat
378         .long sys_signalfd
379         .long sys_timerfd_create        /* 350 */
380         .long sys_eventfd
381         .long sys_fallocate
382         .long sys_timerfd_settime
383         .long sys_timerfd_gettime
384         .long sys_signalfd4             /* 355 */
385         .long sys_eventfd2
386         .long sys_epoll_create1
387         .long sys_dup3
388         .long sys_pipe2
389         .long sys_inotify_init1         /* 360 */
390         .long sys_preadv
391         .long sys_pwritev
392         .long sys_rt_tgsigqueueinfo
393         .long sys_perf_event_open
394         .long sys_recvmmsg              /* 365 */
395         .long sys_accept4
396         .long sys_fanotify_init
397         .long sys_fanotify_mark
398         .long sys_prlimit64
399         .long sys_name_to_handle_at     /* 370 */
400         .long sys_open_by_handle_at
401         .long sys_clock_adjtime
402         .long sys_syncfs
403         .long sys_sendmmsg
404         .long sys_setns                 /* 375 */