提交 73d4393d 编写于 作者: H Hans-Christian Egtvedt 提交者: Haavard Skinnemoen

avr32: fix sys_sync_file_range() call convention

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 patch adds a stub for sync_file_range syscall on AVR32
architecture.  Tested with uClibc snapshot.
Signed-off-by: NHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
上级 e37925eb
...@@ -109,3 +109,12 @@ __sys_epoll_pwait: ...@@ -109,3 +109,12 @@ __sys_epoll_pwait:
rcall sys_epoll_pwait rcall sys_epoll_pwait
sub sp, -4 sub sp, -4
popm pc popm pc
.global __sys_sync_file_range
.type __sys_sync_file_range,@function
__sys_sync_file_range:
pushm lr
st.w --sp, ARG6
rcall sys_sync_file_range
sub sp, -4
popm pc
...@@ -275,7 +275,7 @@ sys_call_table: ...@@ -275,7 +275,7 @@ sys_call_table:
.long sys_set_robust_list .long sys_set_robust_list
.long sys_get_robust_list /* 260 */ .long sys_get_robust_list /* 260 */
.long __sys_splice .long __sys_splice
.long sys_sync_file_range .long __sys_sync_file_range
.long sys_tee .long sys_tee
.long sys_vmsplice .long sys_vmsplice
.long __sys_epoll_pwait /* 265 */ .long __sys_epoll_pwait /* 265 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册