Oh, I should maybe mention that not all priviledged fpu instructions are fully emulated (yet).
NetBSD didn't need these at all since the whole thing was baked right into their kernel but as a standalone thing we do (for multitasking environments)
TLDNR:
Context switching will not work properly yet and running two programs that does floating point calculations concurrently may/will step on each others toes.
If only one program is doing FPU emulation thingys it should be perfectly fine though.
And the nerdy bits:
- ftrapcc is not implemented. Probably not needed. Lowest on the list of priorities.
- fsave + frestore are only partially implemented.
Enough for most software to identify the presence of a 68881 but the internal running-state is not yet emulated fully - an OS would take the result as a hint that it doesn't need to bother saving/restoring user-visible FPU registers.
I do plan on trying to improve these.