>return values. Since the kernel being implimentated here is in C it seems
>you have to have a fair bit of messy inline asm and something like a
>no-return attribute to avoid the function call saving and restoring the
>saved registers of the calling convention.
Yes. I suspect you may end up writing some assembler to do the glue. There
isn't any neat way to express in C what you want to do.
>> Linux the compiler doesn't know anything at all about syscalls and the C
>> library does all the necessary magic.
>
> for user space or inside the kernel?
Sorry, I was talking about user space so I guess we were at cross purposes
rather. The first level of system call handling in the kernel is all coded
in assembler (which is one of the things that makes syscalls as quick as
they are) and all the register manipulation happens there.
> How does linux impliment its system calls?
For the kernel, see arch/arm/kernel/entry-common.S. For user space, see the
libc sources (mostly in sysdeps/unix/sysv/linux/arm/).
p.
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]