David Miller wrote: > From: "Joseph S. Myers" <joseph@xxxxxxxxxxxxxxxx> > Date: Mon, 4 Jun 2007 20:56:57 +0000 (UTC) > > [ added linux-arch which is a great place to discuss these > kinds of issues. ] > >> What should the kernel syscall ABI be in such cases (any case where the >> syscall implementations expect arguments narrower than registers, so >> mainly 32-bit arguments on 64-bit platforms)? There are two obvious >> possibilities: > > In general we've taken the stance that the syscall dispatch > should create the proper calling environment for C code > implementing the system calls, and this thus means properly > sign and zero extending the arguments as expected by the C > calling convention. This is, in fact, rather fundamental (some ABIs don't require sign or zero extension, e.g. x86-64); otherwise libc's job becomes a whole lot harder. -hpa