>       Its probably not the best way of going about things but I'm
>participating in a C implimentation of a micro-kernel who's syscalls in
>general have more then 4 arguments and return more then one. Its important
>to avoid copying. The ABI defines which registers are what and that all
>registers less the user SP are undefined after the syscall except where
>they are allocated for results from the syscall. 

I don't quite understand what you're trying to do.  Are you saying you want to 
arrange for certain functions to have a non-standard calling sequence where 
all regs are clobbered and a greater than usual number are used for args and 
return values?

If so, this isn't possible without some hacking of the compiler.  It wouldn't 
be especially hard to add a new configuration with these quirks though.  Under 
Linux the compiler doesn't know anything at all about syscalls and the C 
library does all the necessary magic.

If you can explain what the exact mechanism for syscalls under your kernel is, 
that would probably help.

p.


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to