Add support for arm64_linux26
[openafs.git] / src / afs / afs_syscall.c
index 136ac0a..ce6afdf 100644 (file)
@@ -141,6 +141,8 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
     if (test_thread_flag(TIF_31BIT))
 #elif defined(AFS_S390X_LINUX20_ENV)
     if (current->thread.flags & S390_FLAG_31BIT)
+#elif defined(AFS_ARM64_LINUX26_ENV)
+    if (is_compat_task())
 
 #else
 #error pioctl32 not done for this linux
@@ -416,6 +418,8 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
     if (test_thread_flag(TIF_31BIT))
 #elif defined(AFS_S390X_LINUX20_ENV)
     if (current->thread.flags & S390_FLAG_31BIT)
+#elif defined(AFS_ARM64_LINUX26_ENV)
+    if (is_compat_task())
 
 #else
 #error iparam32 not done for this linux platform
@@ -476,7 +480,8 @@ afs3_syscall(struct thread *p, void *args)
        long parm5;
        long parm6;
     } *uap = (struct a *)args;
-    long *retval;
+    long fbsd_ret = 0;
+    long *retval = &fbsd_ret;
 #elif defined(AFS_NBSD40_ENV)
 int
 afs3_syscall(struct lwp *p, const void *args, register_t *retval)
@@ -521,7 +526,7 @@ afs_syscall(long syscall, long parm1, long parm2, long parm3, long parm4)
 #else
 # if defined(UKERNEL)
 int
-Afs_syscall()
+Afs_syscall(void)
 {
     struct a {
        long syscall;
@@ -708,7 +713,7 @@ Afs_syscall()
                                   uap->parm4, rvp, CRED());
 #elif defined(AFS_FBSD_ENV)
            code =
-               afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3,
+               afs_syscall_pioctl((void *)uap->parm1, uap->parm2, (void *)uap->parm3,
                                   uap->parm4, p->td_ucred);
 #elif defined(AFS_DARWIN80_ENV)
            code =