avr32: wire up missing syscalls

This patch adds a bunch of missing syscalls to AVR32:
__NR_pread64
__NR_pwrite64
__NR_timerfd_create
__NR_fallocate
__NR_timerfd_settime
__NR_timerfd_gettime
__NR_signalfd4
__NR_eventfd2
__NR_epoll_create1
__NR_dup3
__NR_pipe2
__NR_inotify_init1
__NR_preadv
__NR_pwritev
__NR_rt_tgsigqueueinfo
__NR_perf_event_open
__NR_recvmmsg
__NR_fanotify_init
__NR_fanotify_mark
__NR_prlimit64
__NR_name_to_handle_at
__NR_open_by_handle_at
__NR_clock_adjtime
__NR_syncfs
__NR_sendmmsg
__NR_process_vm_readv
__NR_process_vm_writev
__NR_kcmp
__NR_finit_module
__NR_sched_setattr
__NR_sched_getattr
__NR_renameat2
__NR_seccomp
__NR_getrandom
__NR_memfd_create
__NR_bpf
__NR_execveat

On AVR32, all parameters beyond the 5th are passed on the stack. System
calls don't use the stack -- they borrow a callee-saved register
instead. This means that syscalls that take 6 parameters must be called
through a stub that pushes the last parameter on the stack.

This relates to syscall fallocate, fanotify_mark, process_vm_readv, and
process_vm_writev.

Signed-off-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
This commit is contained in:
Hans-Christian Egtvedt
2014-12-25 19:58:50 +01:00
parent bfa76d4957
commit f3240c1f6d
4 changed files with 111 additions and 5 deletions

View File

@@ -222,7 +222,6 @@
#define __NR_epoll_wait 207
#define __NR_remap_file_pages 208
#define __NR_set_tid_address 209
#define __NR_timer_create 210
#define __NR_timer_settime 211
#define __NR_timer_gettime 212
@@ -238,7 +237,6 @@
/* 222 reserved for tux */
#define __NR_utimes 223
#define __NR_fadvise64_64 224
#define __NR_cacheflush 225
#define __NR_vserver 226
@@ -281,7 +279,6 @@
#define __NR_tee 263
#define __NR_vmsplice 264
#define __NR_epoll_pwait 265
#define __NR_msgget 266
#define __NR_msgsnd 267
#define __NR_msgrcv 268
@@ -294,11 +291,47 @@
#define __NR_shmget 275
#define __NR_shmdt 276
#define __NR_shmctl 277
#define __NR_utimensat 278
#define __NR_signalfd 279
/* 280 was __NR_timerfd */
#define __NR_eventfd 281
#define __NR_setns 283
#define __NR_pread64 284
#define __NR_pwrite64 285
#define __NR_timerfd_create 286
#define __NR_fallocate 287
#define __NR_timerfd_settime 288
#define __NR_timerfd_gettime 289
#define __NR_signalfd4 290
#define __NR_eventfd2 291
#define __NR_epoll_create1 292
#define __NR_dup3 293
#define __NR_pipe2 294
#define __NR_inotify_init1 295
#define __NR_preadv 296
#define __NR_pwritev 297
#define __NR_rt_tgsigqueueinfo 298
#define __NR_perf_event_open 299
#define __NR_recvmmsg 300
#define __NR_fanotify_init 301
#define __NR_fanotify_mark 302
#define __NR_prlimit64 303
#define __NR_name_to_handle_at 304
#define __NR_open_by_handle_at 305
#define __NR_clock_adjtime 306
#define __NR_syncfs 307
#define __NR_sendmmsg 308
#define __NR_process_vm_readv 309
#define __NR_process_vm_writev 310
#define __NR_kcmp 311
#define __NR_finit_module 312
#define __NR_sched_setattr 313
#define __NR_sched_getattr 314
#define __NR_renameat2 315
#define __NR_seccomp 316
#define __NR_getrandom 317
#define __NR_memfd_create 318
#define __NR_bpf 319
#define __NR_execveat 320
#endif /* _UAPI__ASM_AVR32_UNISTD_H */