| From 7216cabfff5149670445cd65d415ed5db21314b4 Mon Sep 17 00:00:00 2001 |
| From: Chris Zankel <chris@zankel.net> |
| Date: Fri, 19 Oct 2012 10:46:44 -0700 |
| Subject: xtensa: add missing system calls to the syscall table |
| |
| From: Chris Zankel <chris@zankel.net> |
| |
| commit 7216cabfff5149670445cd65d415ed5db21314b4 upstream. |
| |
| Add the following system calls to the syscall table: |
| |
| fallocate |
| sendmmsg |
| umount2 |
| syncfs |
| epoll_create1 |
| inotify_init1 |
| signalfd4 |
| dup3 |
| pipe2 |
| timerfd_create |
| timerfd_settime |
| timerfd_gettime |
| eventfd2 |
| preadv |
| pwritev |
| fanotify_init |
| fanotify_mark |
| process_vm_readv |
| process_vm_writev |
| name_to_handle_at |
| open_by_handle_at |
| sync_file_range |
| perf_event_open |
| rt_tgsigqueueinfo |
| clock_adjtime |
| prlimit64 |
| kcmp |
| |
| Note that we have to use the 'sys_sync_file_range2' version, so that |
| the 64-bit arguments are aligned correctly to the argument registers. |
| |
| Signed-off-by: Chris Zankel <chris@zankel.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/xtensa/include/asm/unistd.h | 89 +++++++++++++++++++++++++++++++-------- |
| 1 file changed, 71 insertions(+), 18 deletions(-) |
| |
| --- a/arch/xtensa/include/asm/unistd.h |
| +++ b/arch/xtensa/include/asm/unistd.h |
| @@ -148,8 +148,8 @@ __SYSCALL( 59, sys_getdents, 3) |
| __SYSCALL( 60, sys_getdents64, 3) |
| #define __NR_fcntl64 61 |
| __SYSCALL( 61, sys_fcntl64, 3) |
| -#define __NR_available62 62 |
| -__SYSCALL( 62, sys_ni_syscall, 0) |
| +#define __NR_fallocate 62 |
| +__SYSCALL( 62, sys_fallocate, 6) |
| #define __NR_fadvise64_64 63 |
| __SYSCALL( 63, xtensa_fadvise64_64, 6) |
| #define __NR_utime 64 /* glibc 2.3.3 ?? */ |
| @@ -264,8 +264,8 @@ __SYSCALL(112, sys_socketpair, 4) |
| __SYSCALL(113, sys_sendfile, 4) |
| #define __NR_sendfile64 114 |
| __SYSCALL(114, sys_sendfile64, 4) |
| -#define __NR_available115 115 |
| -__SYSCALL(115, sys_ni_syscall, 0) |
| +#define __NR_sendmmsg 115 |
| +__SYSCALL(115, sys_sendmmsg, 4) |
| |
| /* Process Operations */ |
| |
| @@ -380,11 +380,11 @@ __SYSCALL(168, sys_msgrcv, 4) |
| __SYSCALL(169, sys_msgctl, 4) |
| #define __NR_available170 170 |
| __SYSCALL(170, sys_ni_syscall, 0) |
| -#define __NR_available171 171 |
| -__SYSCALL(171, sys_ni_syscall, 0) |
| |
| /* File System */ |
| |
| +#define __NR_umount2 171 |
| +__SYSCALL(171, sys_umount, 2) |
| #define __NR_mount 172 |
| __SYSCALL(172, sys_mount, 5) |
| #define __NR_swapon 173 |
| @@ -399,8 +399,8 @@ __SYSCALL(176, sys_umount, 2) |
| __SYSCALL(177, sys_swapoff, 1) |
| #define __NR_sync 178 |
| __SYSCALL(178, sys_sync, 0) |
| -#define __NR_available179 179 |
| -__SYSCALL(179, sys_ni_syscall, 0) |
| +#define __NR_syncfs 179 |
| +__SYSCALL(179, sys_syncfs, 1) |
| #define __NR_setfsuid 180 |
| __SYSCALL(180, sys_setfsuid, 1) |
| #define __NR_setfsgid 181 |
| @@ -455,7 +455,7 @@ __SYSCALL(203, sys_reboot, 3) |
| #define __NR_quotactl 204 |
| __SYSCALL(204, sys_quotactl, 4) |
| #define __NR_nfsservctl 205 |
| -__SYSCALL(205, sys_ni_syscall, 0) |
| +__SYSCALL(205, sys_ni_syscall, 0) /* old nfsservctl */ |
| #define __NR__sysctl 206 |
| __SYSCALL(206, sys_sysctl, 1) |
| #define __NR_bdflush 207 |
| @@ -562,7 +562,7 @@ __SYSCALL(252, sys_timer_getoverrun, 1) |
| |
| /* System */ |
| |
| -#define __NR_reserved244 253 |
| +#define __NR_reserved253 253 |
| __SYSCALL(253, sys_ni_syscall, 0) |
| #define __NR_lookup_dcookie 254 |
| __SYSCALL(254, sys_lookup_dcookie, 4) |
| @@ -609,8 +609,8 @@ __SYSCALL(272, sys_pselect6, 0) |
| __SYSCALL(273, sys_ppoll, 0) |
| #define __NR_epoll_pwait 274 |
| __SYSCALL(274, sys_epoll_pwait, 0) |
| -#define __NR_available275 275 |
| -__SYSCALL(275, sys_ni_syscall, 0) |
| +#define __NR_epoll_create1 275 |
| +__SYSCALL(275, sys_epoll_create1, 1) |
| |
| #define __NR_inotify_init 276 |
| __SYSCALL(276, sys_inotify_init, 0) |
| @@ -618,8 +618,8 @@ __SYSCALL(276, sys_inotify_init, 0) |
| __SYSCALL(277, sys_inotify_add_watch, 3) |
| #define __NR_inotify_rm_watch 278 |
| __SYSCALL(278, sys_inotify_rm_watch, 2) |
| -#define __NR_available279 279 |
| -__SYSCALL(279, sys_ni_syscall, 0) |
| +#define __NR_inotify_init1 279 |
| +__SYSCALL(279, sys_inotify_init1, 1) |
| |
| #define __NR_getcpu 280 |
| __SYSCALL(280, sys_getcpu, 0) |
| @@ -635,10 +635,10 @@ __SYSCALL(283, sys_ioprio_get, 3) |
| __SYSCALL(284, sys_set_robust_list, 3) |
| #define __NR_get_robust_list 285 |
| __SYSCALL(285, sys_get_robust_list, 3) |
| -#define __NR_reserved286 286 /* sync_file_rangeX */ |
| -__SYSCALL(286, sys_ni_syscall, 3) |
| +#define __NR_available286 286 |
| +__SYSCALL(286, sys_ni_syscall, 0) |
| #define __NR_available287 287 |
| -__SYSCALL(287, sys_faccessat, 0) |
| +__SYSCALL(287, sys_ni_syscall, 0) |
| |
| /* Relative File Operations */ |
| |
| @@ -683,10 +683,63 @@ __SYSCALL(305, sys_ni_syscall, 0) |
| __SYSCALL(306, sys_eventfd, 1) |
| #define __NR_recvmmsg 307 |
| __SYSCALL(307, sys_recvmmsg, 5) |
| + |
| #define __NR_setns 308 |
| __SYSCALL(308, sys_setns, 2) |
| +#define __NR_signalfd4 309 |
| +__SYSCALL(309, sys_signalfd4, 4) |
| +#define __NR_dup3 310 |
| +__SYSCALL(310, sys_dup3, 3) |
| +#define __NR_pipe2 311 |
| +__SYSCALL(311, sys_pipe2, 2) |
| + |
| +#define __NR_timerfd_create 312 |
| +__SYSCALL(312, sys_timerfd_create, 2) |
| +#define __NR_timerfd_settime 313 |
| +__SYSCALL(313, sys_timerfd_settime, 4) |
| +#define __NR_timerfd_gettime 314 |
| +__SYSCALL(314, sys_timerfd_gettime, 2) |
| +#define __NR_available315 315 |
| +__SYSCALL(315, sys_ni_syscall, 0) |
| + |
| +#define __NR_eventfd2 316 |
| +__SYSCALL(316, sys_eventfd2, 2) |
| +#define __NR_preadv 317 |
| +__SYSCALL(317, sys_preadv, 5) |
| +#define __NR_pwritev 318 |
| +__SYSCALL(318, sys_pwritev, 5) |
| +#define __NR_available319 319 |
| +__SYSCALL(319, sys_ni_syscall, 0) |
| + |
| +#define __NR_fanotify_init 320 |
| +__SYSCALL(320, sys_fanotify_init, 2) |
| +#define __NR_fanotify_mark 321 |
| +__SYSCALL(321, sys_fanotify_mark, 6) |
| +#define __NR_process_vm_readv 322 |
| +__SYSCALL(322, sys_process_vm_readv, 6) |
| +#define __NR_process_vm_writev 323 |
| +__SYSCALL(323, sys_process_vm_writev, 6) |
| + |
| +#define __NR_name_to_handle_at 324 |
| +__SYSCALL(324, sys_name_to_handle_at, 5) |
| +#define __NR_open_by_handle_at 325 |
| +__SYSCALL(325, sys_open_by_handle_at, 3) |
| +#define __NR_sync_file_range 326 |
| +__SYSCALL(326, sys_sync_file_range2, 6) |
| +#define __NR_perf_event_open 327 |
| +__SYSCALL(327, sys_perf_event_open, 5) |
| + |
| +#define __NR_rt_tgsigqueueinfo 328 |
| +__SYSCALL(328, sys_rt_tgsigqueueinfo, 4) |
| +#define __NR_clock_adjtime 329 |
| +__SYSCALL(329, sys_clock_adjtime, 2) |
| +#define __NR_prlimit64 330 |
| +__SYSCALL(330, sys_prlimit64, 4) |
| +#define __NR_kcmp 331 |
| +__SYSCALL(331, sys_kcmp, 5) |
| + |
| |
| -#define __NR_syscall_count 309 |
| +#define __NR_syscall_count 332 |
| |
| /* |
| * sysxtensa syscall handler |