Clear any pending exceptions before using frstor (in the non-FXSR case)
in npxsetregs() too. npxsetregs() must overwrite the previous state, and it is never paired with an npxgetregs() that would defuse the previous state (since npxgetregs() would have fninit'ed the state, leaving nothing to do). PR: 68058 (this should complete the fix) Tested by: Simon Barner <barner@in.tum.de>
This commit is contained in:
parent
2014196986
commit
e36c855efd
@ -944,6 +944,10 @@ npxsetregs(td, addr)
|
||||
|
||||
s = intr_disable();
|
||||
if (td == PCPU_GET(fpcurthread)) {
|
||||
#ifdef CPU_ENABLE_SSE
|
||||
if (!cpu_fxsr)
|
||||
#endif
|
||||
fnclex(); /* As in npxdrop(). */
|
||||
fpurstor(addr);
|
||||
intr_restore(s);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user