提交 bc671aa9 编写于 作者: C Chris Zankel

[XTENSA] Fix fadvise64_64

Xtensa passes long long arguments in a even/odd register pair,
so we also need to shuffle the arguments when passed through the
system call to avoid an empty argument register.
Signed-off-by: NChris Zankel <chris@zankel.net>
上级 068732d9
...@@ -93,3 +93,8 @@ asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg) ...@@ -93,3 +93,8 @@ asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg)
return (long)ret; return (long)ret;
} }
asmlinkage long xtensa_fadvise64_64(int fd, int advice, unsigned long long offset, unsigned long long len)
{
return sys_fadvise64_64(fd, offset, len, advice);
}
...@@ -28,6 +28,8 @@ asmlinkage long sys_rt_sigaction(int, ...@@ -28,6 +28,8 @@ asmlinkage long sys_rt_sigaction(int,
struct sigaction __user *, struct sigaction __user *,
size_t); size_t);
asmlinkage long xtensa_shmat(int, char __user *, int); asmlinkage long xtensa_shmat(int, char __user *, int);
asmlinkage long xtensa_fadvise64_64(int, int,
unsigned long long, unsigned long long);
/* Should probably move to linux/syscalls.h */ /* Should probably move to linux/syscalls.h */
struct pollfd; struct pollfd;
......
...@@ -151,7 +151,7 @@ __SYSCALL( 61, sys_fcntl64, 3) ...@@ -151,7 +151,7 @@ __SYSCALL( 61, sys_fcntl64, 3)
#define __NR_available62 62 #define __NR_available62 62
__SYSCALL( 62, sys_ni_syscall, 0) __SYSCALL( 62, sys_ni_syscall, 0)
#define __NR_fadvise64_64 63 #define __NR_fadvise64_64 63
__SYSCALL( 63, sys_fadvise64_64, 6) __SYSCALL( 63, xtensa_fadvise64_64, 6)
#define __NR_utime 64 /* glibc 2.3.3 ?? */ #define __NR_utime 64 /* glibc 2.3.3 ?? */
__SYSCALL( 64, sys_utime, 2) __SYSCALL( 64, sys_utime, 2)
#define __NR_utimes 65 #define __NR_utimes 65
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册