summaryrefslogtreecommitdiffstats
path: root/arch/avr32/kernel/syscall-stubs.S
diff options
context:
space:
mode:
authorHans-Christian Egtvedt <egtvedt@samfundet.no>2014-12-25 19:58:50 +0100
committerHans-Christian Egtvedt <egtvedt@samfundet.no>2015-02-09 15:27:44 +0100
commitf3240c1f6d18591b2c1ef33ed18d5ca91e62c104 (patch)
tree32879b14929eb1cadb337af885cd3fcb48df7a8f /arch/avr32/kernel/syscall-stubs.S
parentbfa76d49576599a4b9f9b7a71f23d73d6dcff735 (diff)
downloadlinux-f3240c1f6d18591b2c1ef33ed18d5ca91e62c104.tar.gz
linux-f3240c1f6d18591b2c1ef33ed18d5ca91e62c104.tar.xz
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>
Diffstat (limited to 'arch/avr32/kernel/syscall-stubs.S')
-rw-r--r--arch/avr32/kernel/syscall-stubs.S36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/avr32/kernel/syscall-stubs.S b/arch/avr32/kernel/syscall-stubs.S
index b5fc927cd398..f9c68fab0e2f 100644
--- a/arch/avr32/kernel/syscall-stubs.S
+++ b/arch/avr32/kernel/syscall-stubs.S
@@ -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