linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 64-bit syscall ABI issue
       [not found] <Pine.LNX.4.64.0706042051280.16431@digraph.polyomino.org.uk>
@ 2007-06-04 21:25 ` David Miller
  2007-06-05  0:04   ` H. Peter Anvin
  0 siblings, 1 reply; 2+ messages in thread
From: David Miller @ 2007-06-04 21:25 UTC (permalink / raw)
  To: joseph; +Cc: linux-kernel, linux-mips, linux-arch

From: "Joseph S. Myers" <joseph@codesourcery.com>
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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: 64-bit syscall ABI issue
  2007-06-04 21:25 ` 64-bit syscall ABI issue David Miller
@ 2007-06-05  0:04   ` H. Peter Anvin
  0 siblings, 0 replies; 2+ messages in thread
From: H. Peter Anvin @ 2007-06-05  0:04 UTC (permalink / raw)
  To: David Miller; +Cc: joseph, linux-kernel, linux-mips, linux-arch

David Miller wrote:
> From: "Joseph S. Myers" <joseph@codesourcery.com>
> 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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-06-05  0:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <Pine.LNX.4.64.0706042051280.16431@digraph.polyomino.org.uk>
2007-06-04 21:25 ` 64-bit syscall ABI issue David Miller
2007-06-05  0:04   ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).