Re: 2.3.30pre1 syscall w/6 args support?

Linus Torvalds (torvalds@transmeta.com)
Wed, 8 Dec 1999 13:54:12 -0800 (PST)


On Wed, 8 Dec 1999, Ingo Molnar wrote:
> On Wed, 8 Dec 1999, Linus Torvalds wrote:
>
> > The problem with SYSEXIT is that it clobbers %edx and %ecx (or whatever -
> > I forget what the registers were and I'm too lazy to look them up), and
>
> (yep it's %edx+%ecx for SYSEXIT)
>
> > that makes it nasty to use for the generic case. But we'd have that user-
> > space fixup area..
>
> hm, i'm not sure wether glibc relies on int $80 not clobbering %edx and
> %ecx.

Well, it's probably ok to use SYSEXIT for system calls, but I was thinking
of the non-system-call case where you _really_ cannot clobber %edx/%ecx.
Clobbering registers on page faults is considered rude ;)

Maybe we can't use SYSEXIT for non-system-calls, but it would just be so
nice if there were no special cases. A user-space trampoline that restores
%ecx/%edx after the SYSEXIT would allow that. But it may just be too
complex to really worry about.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/