[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>
diff --git a/include/asm-xtensa/syscall.h b/include/asm-xtensa/syscall.h
index ea9b513..05cebf8 100644
--- a/include/asm-xtensa/syscall.h
+++ b/include/asm-xtensa/syscall.h
@@ -28,6 +28,8 @@
 				 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;
diff --git a/include/asm-xtensa/unistd.h b/include/asm-xtensa/unistd.h
index bed0410..92968aa 100644
--- a/include/asm-xtensa/unistd.h
+++ b/include/asm-xtensa/unistd.h
@@ -151,7 +151,7 @@
 #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