Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3

Nicholas Miell
2007-03-03T01:41:40Z

On Fri, 2007-03-02 at 16:52 -0800, Davide Libenzi wrote:
> On Fri, 2 Mar 2007, Nicholas Miell wrote:
>
> > The point Ingo was making is that the x86 ABI already requires the FPU
> > context to be saved before *all* function calls.
>
> I've not seen that among Ingo's points, but yeah some status is caller
> saved. But, aren't things like status word and control bits callee saved?
> If that's the case, it might require proper handling.
>

Ingo mentioned it in one of the parts you cut out of your reply:

> and here is where thinking about threadlets as a function call and not
> as an asynchronous context helps alot: the classic gcc convention for
> FPU use & function calls should apply: gcc does not call an external
> function with an in-use FPU stack/register, it always neatly unuses it,
> as no FPU register is callee-saved, all are caller-saved.

The i386 psABI is ancient (i.e. it predates SSE, so no mention of the
XMM or MXCSR registers) and a bit vague (no mention at all of the FP
status word), but I'm fairly certain that Ingo is right.

--
Nicholas Miell <nmiell@comcast.net>