<div dir="ltr">Hi,<div><br></div><div>Can someone help me with my understanding of Lazy FPU Save and restore in Virtualbox?</div><div>I am reading the source in VBox/VMM/VMMRC/CPUMRCA.asm, function cpumHandleLazyFPUAsm(). It creates a jump table based on X86 CR0 bits EM, MP and TS.</div><div><br></div><div>a) Based on the bits, there are cases where execution of FPU instruction should generate #NM in guest (e.g. TS=1, EM=0, MP=0). But the code doesn't seem to generate a trap in Guest in this case. I am not able to understand why it does that.</div><div><br></div><div>b) Secondly, in 2 cases (or in case where FPU is already used by the guest) where it wants to generate a trap in guest,  it goes to the host to generate the guest trap. Why can't it forward the #NM trap directly from RC?<br clear="all"><div><br></div>Regards,<br><div class="gmail_signature" data-smartmail="gmail_signature">-Vivek</div>
</div></div>