I'm interested in retrocomputing and emulation of old computers and have a question about the 80287:
Using a modern FPU the FNSAVE instruction writes 94 bytes of data when the CPU executes 16-bit code and 108 bytes of data when the CPU executes 32-bit code. The FSTENV instruction behaves similar (14 or 28 bytes depending on the code type).
However the 80287 FPU which has been designed for the 16-bit 80286 CPU can also be used together with the 32-bit 80386 CPU.
How would FNSAVE and FSTENV behave when called from 32-bit code with paging enabled with the 386/287 combination?
The 80287 manual explicitly mentions the 80386 but it only describes the 94 byte data format. However another manual states that it is the 80386 and not the 80387 which is responsible for saving the 108 bytes instead of 94 bytes.
And what is the reason that Linux allegedly crashed when using the 80287?
Is the 94 byte format related to the Linux problem?
Thanks