[Extending the CC for some other input. Changhee Han added the text that you are asking about; Mike F has done a lot of other work on the page. Perhaps they can comment.] On 5 March 2017 at 09:08, Victor Khimenko <khim@xxxxxxxxxx> wrote: > syscall(2) example includes the following snippet which explains how to > call readahead on ARM: > > syscall(SYS_readahead, fd, 0, > (unsigned int) (offset >> 32), > (unsigned int) (offset & 0xFFFFFFFF), > count); > > But ARM EABI specifies that "A double-word sized type is passed in two > consecutive registers (e.g., r0 and r1, or r2 and r3). The content of > the registers is as if the value had been loaded from memory representation > with a single LDM instruction." > > This would imply that arguments are swapped around in the man page, no? So, I'm taking it that you mean the call should look like this: syscall(SYS_readahead, fd, 0, (unsigned int) (offset & 0xFFFFFFFF), (unsigned int) (offset >> 32), count); Is that what you mean? > I've tried to experiement and with ftruncate, at least, it works like > this... Sounds plausible. I'm hoping that Mike or Changhee Han might comment. Cheers, Michael > -- > 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 -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- 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