On Wed, Nov 18, 2009 at 08:04:18AM +0100, Heiko Carstens wrote: > On Tue, Nov 17, 2009 at 10:23:56AM -0500, Eric Paris wrote: > With > > long sys_fanotify_mark(int fanotify_fd, unsigned int flags, > int fd, const char __user *pathname, > u64 mask); > > we have a 64 bit type as 5th argument. That doesn't work for syscalls > on 32 bit s390. Note that the above works on ARM, since we end up with the following register allocation: r0: fanotify_fd r1: flags r2: fd r3: pathname r4,r5: mask since 'mask' is an even,odd pair, and the arguments all fit within r0 - r5 inclusive. > Please note that other architectures (I think at least arm and powerpc) put > 64 bit values into even/odd register pairs and add padding if the first free > available register is an odd one. So any of the following interfaces should > work for all architectures: Indeed. Since we're going around the loop of re-organizing the argument order of syscalls, the question which needs asking is: what's happening with HPA's idea of having a set of per-arch rules and generating the interfaces according to those rules? -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html