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
7905213dd1
commit
6ed979574f
@ -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