> On most architectures, you can't use the FPU in the kernel at this time.
Something that's lacking is a portable API that lets problem state programs tell the kernel they are using the FP etc. registers and need them preserved across context switches. This isn't just a UNIX problem. A SIMPLE, portable, API to address this across ANSI-C(ish) environments would be a nice thing. Portable is a strange thing to say here, but I mean it in the context of a portable representation of the machine-specific architecture the application is exposed to it. The consumer, by definition, will have understanding of the underlying hardware bits it wants to preserve. With a reasonable bit of care, it should be possible to build an extendable C interface that works cross platform without using cpp(1) to waterboard everyone in the process. --lyndon P.S. Yes, I dislike #ifdef. This might be one of the few cases where its use is warranted.