Re: MMX for kernel

Jason Flynn (
Fri, 7 Feb 1997 13:38:16 +0000

Ted wrote:
> The really important point (which I think Jason didn't understand) is
> that the FPU registers *aren't* saved and restored across task
> switches. The kernel plays a lazy evaluation game; there is a pointer
> which points to the task which last used the FPU, and if the task that
> is currently running isn't that task, the FPU is set to be
> *invalidated*, which causes the i386 hardware to perform a fault to the
> kernel when an FPU instruction is attempted. At that point, the kernel
> saves the FPU registers for the old task, loads the FPU registers for
> the currently running task, and restarts the instruction.

Thanks for that, it was quite informative. Just forgetting FPU usage
in the kernel for the mo, will the pointer that points to the last
task that uses the FPU work for user mode stuff that uses MMX or
would/is another pointer needed to do a similar thing ?

pointer in the kernel be beneficial for that.
Any opinions expressed in this message are entirely my
own and may not reflect the opinions of my employer.
I know you believe you understand what you think I
wrote. But I am not sure that you realise that what
you read is not what I meant.