[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: Chris Zankel <chris@zankel.net>
This commit is contained in:
parent
068732d9b4
commit
bc671aa983
|
@ -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,
|
||||||
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)
|
||||||
#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
|
||||||
|
|
Loading…
Reference in New Issue