On Sat, Dec 29, 2018 at 07:02:18PM +0100, Willy Tarreau wrote: > + * - the lower level is the arch-specific syscall() definition, consisting > in > + * assembly code in compound expressions. These are called my_syscall0() > to > + * my_syscall6() depending on the number of arguments. The MIPS > + * implementation is limited to 5 arguments. All input arguments are cast > + * to a long stored in a register. These expressions always return the > + * syscall's return value as a signed long value which is often either a > + * pointer or the negated errno value. > + * > + * - the second level is mostly architecture-independent. It is made of > + * static functions called sys_<name>() which rely on my_syscallN() > + * depending on the syscall definition. These functions are responsible > + * for exposing the appropriate types for the syscall arguments (int, > + * pointers, etc) and for setting the appropriate return type (often > int). > + * A few of them are architecture-specific because the syscalls are not > all > + * mapped exactly the same among architectures. For example, some archs > do > + * not implement select() and need pselect6() instead, so the > sys_select() > + * function will have to abstract this. > + * > + * - the third level is the libc call definition. It exposes the lower raw > + * sys_<name>() calls in a way that looks like what a libc usually does, > + * takes care of specific input values, and of setting errno upon error. > + * There can be minor variations compared to standard libc calls. For > + * example the open() call always takes 3 args here.
Shouldn't these sentences begin with a capitalized "The" for consistency? > /* some archs (at least aarch64) don't expose the regular syscalls anymore by > * default, either because they have an "_at" replacement, or because there > are > * more modern alternatives. For now we'd rather still use them. Also here. Shouldn't this begin with a capitalized "Some"? -- Cheers, Joey Pabalinas
signature.asc
Description: PGP signature