On Sun, 2013-04-07 at 11:11 -0400, Kyle McMartin wrote: > On Sun, Apr 07, 2013 at 07:56:49AM -0700, James Bottomley wrote: > > Actually, that's not quite correct. on 64 bits it's arg1-8 are %r26-% > > r19 but on 32 the convention is that arg1-arg4 are %r26-%r23 and the > > rest on stack. We can also do register pair combining on 32 bits for a > > 64 bit argument. > > I guess the confusion is whether you're writing this from the kernel > side or the userspace side. The syscall instruction is called with six > arg registers, but we fix it on entry to the kernel when we call into C. Oh, right, syscall arguments, sorry didn't manage to extract the content from all the quotes. I was just thinking general ABI. The syscall arguments are all in arch/parisc/include/asm/unistd.h As Kyle says, we override the calling convention and define in-register arguments even on 32 bit (so %r26-%r21). We actually don't define _syscall6() yet, but we're ready for it. James -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html