AP-578
2/21/97 3:11 PM 24329102.DOC
INTEL CONFIDENTIAL
(until publication date)
DNA Handler Entry
Current Thread
same as
FPU Owner?
FPU Owner := Kernel
FNSAVE to Old Thread’s
FP Save Area
(may cause numeric exception)
<other handler set up code>
<other handler code>
FPU Owner := Current Thread
FRSTOR from Current Thread’s
FP Save Area
CLTS (clears CR0.TS)
Exit DNA Handler
No
Yes
<handler final clean-up>
Numeric exceptions received while the kernel owns the FPU for a state swap must be discarded in the kernel
without being dispatched to a handler. A flow for a numeric exception dispatch routine is shown below:
Numeric Exception Entry
Is Kernel
FPU Owner?
Normal Dispatch to
Numeric Exception Handler
Exit
No
Yes