[PATCH 22/24] ARM64:ILP32: Use a seperate syscall table as a few syscalls need to be using the compat syscalls.
From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2014-07-01 16:49:14
Also in:
lkml
From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2014-07-01 16:49:14
Also in:
lkml
On Tue, Jul 01, 2014 at 04:30:51PM +0100, Pinski, Andrew wrote:
On Jul 1, 2014, at 8:07 AM, "Catalin Marinas" [off-list ref] wrote:quoted
On Sat, May 24, 2014 at 12:02:17AM -0700, Andrew Pinski wrote:quoted
+/* Using Compat syscalls where necessary */ +#define sys_ioctl compat_sys_ioctl +/* iovec */ +#define sys_readv compat_sys_readv +#define sys_writev compat_sys_writev +#define sys_preadv compat_sys_preadv64 +#define sys_pwritev compat_sys_pwritev64 +#define sys_vmsplice compat_sys_vmspliceDo these actually work? compat_iovec has two members of 32-bit each while the ILP32 iovec has a void * (32-bit) and a __kernel_size_t which is 64-bit.size_t should be unsigned long in ilp32 so a 32bit unsigned integer type. That part of the abi was already defined in the arm abi documents. Now are saying we should pass size_t different between user and kernel space?
OK, I think you are right here. The ILP32 would not see __kernel_size_t defined as __kernel_ulong_t because __BITS_PER_LONG != 64.
quoted
quoted
+/* Pointer in struct */ +#define sys_mount compat_sys_mountWhich structure is this?NFS structure, I can expand out the comment if needed.
That would be good for future reference. Thanks. -- Catalin