Re: syscall_linkage

From: Stephane Eranian <eranian_at_hpl.hp.com>
Date: 2004-04-09 02:23:43
Hi,

On Thu, Apr 08, 2004 at 05:54:40PM +0200, Zoltan Menyhart wrote:
> Can somebody explain me, please, what the difference is between an
> __attribute__((syscall_linkage)) call and a regular one ?
> 

It indicates to the compiler that the arguments of the function 
are to be treated read-only. If they need to be modified, then a
copy is made into  other registers. This is necessary for the 
system call entry points because some syscalls can be restarted
and they need to restart we the orginal values. Remember that
all syscall arguments are passed in registers AND the registers
come straight from the user level, i.e., they are never copied.


> The Itanium Software Conventions & Runtime Architecture Guide does
> not say a word about it, does it mean it is a non standard way to
> pass parameters ?
> 
> What registers need / do not need to be saved with respect to what
> is written in the Intel book ?
> 
> Thanks,
> 
> Zoltán Menyhárt
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

-Stephane
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Apr 8 12:36:18 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:25 EST