summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-29 17:15:01 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-29 17:15:01 +0100
commit7f61298b5d4c36b38e3c9e96fd0357c564bc3b9d (patch)
treee112e4ed94a33585dc67d00949a95271b9e97751
parenta9daf62fea26392c9050b5db3b110a7b5f8ea4c7 (diff)
x86: clear exceptions etc. on fpinit
fpu_rstor is not enough, exceptions and such remain behind, so restore calling fninit. * i386/i386/fpu.c (fpinit): call fninit() before fpu_rstor().
-rw-r--r--i386/i386/fpu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/i386/i386/fpu.c b/i386/i386/fpu.c
index ee8cadcd..69c495c8 100644
--- a/i386/i386/fpu.c
+++ b/i386/i386/fpu.c
@@ -581,6 +581,7 @@ static void fpinit(thread_t thread)
ASSERT_IPL(SPL0);
clear_ts();
+ fninit();
fpu_rstor(fp_default_state);
control = thread->pcb->init_control;