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:
parent
bfa76d4957
commit
f3240c1f6d
4 changed files with 111 additions and 5 deletions
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include <uapi/asm/unistd.h>
|
||||
|
||||
#define NR_syscalls 284
|
||||
#define NR_syscalls 321
|
||||
|
||||
/* Old stuff */
|
||||
#define __IGNORE_uselib
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -88,3 +88,39 @@ __sys_sync_file_range:
|
|||
call sys_sync_file_range
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
||||
.global __sys_fallocate
|
||||
.type __sys_fallocate,@function
|
||||
__sys_fallocate:
|
||||
pushm lr
|
||||
st.w --sp, ARG6
|
||||
call sys_fallocate
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
||||
.global __sys_fanotify_mark
|
||||
.type __sys_fanotify_mark,@function
|
||||
__sys_fanotify_mark:
|
||||
pushm lr
|
||||
st.w --sp, ARG6
|
||||
call sys_fanotify_mark
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
||||
.global __sys_process_vm_readv
|
||||
.type __sys_process_vm_readv,@function
|
||||
__sys_process_vm_readv:
|
||||
pushm lr
|
||||
st.w --sp, ARG6
|
||||
call sys_process_vm_readv
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
||||
.global __sys_process_vm_writev
|
||||
.type __sys_process_vm_writev,@function
|
||||
__sys_process_vm_writev:
|
||||
pushm lr
|
||||
st.w --sp, ARG6
|
||||
call sys_process_vm_writev
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
|
|
@ -297,4 +297,41 @@ sys_call_table:
|
|||
.long sys_eventfd
|
||||
.long sys_recvmmsg
|
||||
.long sys_setns
|
||||
.long sys_pread64
|
||||
.long sys_pwrite64 /* 285 */
|
||||
.long sys_timerfd_create
|
||||
.long __sys_fallocate
|
||||
.long sys_timerfd_settime
|
||||
.long sys_timerfd_gettime
|
||||
.long sys_signalfd4 /* 290 */
|
||||
.long sys_eventfd2
|
||||
.long sys_epoll_create1
|
||||
.long sys_dup3
|
||||
.long sys_pipe2
|
||||
.long sys_inotify_init1 /* 295 */
|
||||
.long sys_preadv
|
||||
.long sys_pwritev
|
||||
.long sys_rt_tgsigqueueinfo
|
||||
.long sys_perf_event_open
|
||||
.long sys_recvmmsg /* 300 */
|
||||
.long sys_fanotify_init
|
||||
.long __sys_fanotify_mark
|
||||
.long sys_prlimit64
|
||||
.long sys_name_to_handle_at
|
||||
.long sys_open_by_handle_at /* 305 */
|
||||
.long sys_clock_adjtime
|
||||
.long sys_syncfs
|
||||
.long sys_sendmmsg
|
||||
.long __sys_process_vm_readv
|
||||
.long __sys_process_vm_writev /* 310 */
|
||||
.long sys_kcmp
|
||||
.long sys_finit_module
|
||||
.long sys_sched_setattr
|
||||
.long sys_sched_getattr
|
||||
.long sys_renameat2 /* 315 */
|
||||
.long sys_seccomp
|
||||
.long sys_getrandom
|
||||
.long sys_memfd_create
|
||||
.long sys_bpf
|
||||
.long sys_execveat /* 320 */
|
||||
.long sys_ni_syscall /* r8 is saturated at nr_syscalls */
|
||||
|
|
Loading…
Reference in a new issue