On Fri, 5 Sep 2014, Micheal waltz wrote:

> This made it slightly farther into the kernel module build, it's now giving
> errors about pioctl32:
>
> /home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/afs_syscall.c:
> In function 'copyin_afs_ioctl':
> /home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/afs_syscall.c:146:2:
> error: #error pioctl32 not done for this linux
>  #error pioctl32 not done for this linux
>   ^
> /home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/afs_syscall.c:
> In function 'copyin_iparam':
> /home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/afs_syscall.c:421:2:
> error: #error iparam32 not done for this linux platform
>  #error iparam32 not done for this linux platform
>   ^
> make[6]: ***
> [/home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/afs_syscall.o]
> Error 1
>
> Which in src/afs/afs_syscall.c looks like it there are blocks for other 64-bit
> Linux archs when AFS_LINUX_64BIT_KERNEL is defined. I don't think I can just
> copy the amd64 block for arm64 however since it appears to have Intel
> specifics.

These blocks are where the kernel is checking whether the calling process
is a 32-bit process or not.  It is (apparently) specific to the system
architecture on linux, which is a bit surprising.

If linux arm64 does not support running 32-bit executables, you can just
put in "if (0)".  You could probably do so for now even if arm64 does
support 32-bit executables, with an XXX comment that it needs to be
revisited.  I am not a linux kernel expert, so I don't know how to do this
"properly" off the top of my head.

-Ben
_______________________________________________
OpenAFS-devel mailing list
OpenAFS-devel@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to