In one of the issues (536?) there was some discovery suggesting that certain 
compiler flags would fix it. So I wonder if depending on compiler flags FNINIT 
is sometimes skipped for optimization reasons. See this from “Simply FPU blog”:

“FINIT / FNINIT (Initialize FPU)

Syntax:   finit  (no operand)
          fninit (no operand)
The FINIT and FNINIT have exactly the same coding except that the FINIT is 
automatically preceded by the FWAIT code.
This instruction initializes the FPU by resetting all the registers and flags 
to their default values. (Refer to Chap.1 Description of FPU Internals for 
default values.)

Due to some of the restrictions of the FPU, it is good programming practice to 
take the precaution of initializing it before starting any computation, unless 
it is known that data has been left in it for further processing. If several 
sections of code use the FPU and the programmer is careless about not leaving 
the data registers "empty" in some of them, they can fill up very rapidly.””

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to