Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc671aa9 authored by Chris Zankel's avatar Chris Zankel
Browse files

[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: default avatarChris Zankel <chris@zankel.net>
parent 068732d9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -93,3 +93,8 @@ asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg)
	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);
}
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ asmlinkage long sys_rt_sigaction(int,
				 struct sigaction __user *,
				 size_t);
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 */
struct pollfd;
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ __SYSCALL( 61, sys_fcntl64, 3)
#define __NR_available62			 62
__SYSCALL( 62, sys_ni_syscall, 0)
#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 ?? */
__SYSCALL( 64, sys_utime, 2)
#define __NR_utimes 				 65