summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Egge <tegge@FreeBSD.org>2001-10-15 20:18:06 +0000
committerTor Egge <tegge@FreeBSD.org>2001-10-15 20:18:06 +0000
commit4c8f0aced55cc03b2885fdec2f75856b35f37b00 (patch)
treebebfc4966a54ebf0e6e9f21d2d573f5b1cce14a5
parent268aeb1ed3010593b36712aae351de611c4ddc2a (diff)
Notes
-rw-r--r--sys/amd64/amd64/fpu.c5
-rw-r--r--sys/amd64/isa/npx.c5
-rw-r--r--sys/i386/isa/npx.c5
3 files changed, 15 insertions, 0 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 7a7aeb014674..87bfe1678309 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -575,6 +575,11 @@ npxinit(control)
savecrit = critical_enter();
npxsave(&dummy);
stop_emulating();
+#ifdef CPU_ENABLE_SSE
+ /* XXX npxsave() doesn't actually initialize the fpu in the SSE case. */
+ if (cpu_fxsr)
+ fninit();
+#endif
fldcw(&control);
if (PCPU_GET(curpcb) != NULL)
fpusave(&PCPU_GET(curpcb)->pcb_save);
diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c
index 7a7aeb014674..87bfe1678309 100644
--- a/sys/amd64/isa/npx.c
+++ b/sys/amd64/isa/npx.c
@@ -575,6 +575,11 @@ npxinit(control)
savecrit = critical_enter();
npxsave(&dummy);
stop_emulating();
+#ifdef CPU_ENABLE_SSE
+ /* XXX npxsave() doesn't actually initialize the fpu in the SSE case. */
+ if (cpu_fxsr)
+ fninit();
+#endif
fldcw(&control);
if (PCPU_GET(curpcb) != NULL)
fpusave(&PCPU_GET(curpcb)->pcb_save);
diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c
index 7a7aeb014674..87bfe1678309 100644
--- a/sys/i386/isa/npx.c
+++ b/sys/i386/isa/npx.c
@@ -575,6 +575,11 @@ npxinit(control)
savecrit = critical_enter();
npxsave(&dummy);
stop_emulating();
+#ifdef CPU_ENABLE_SSE
+ /* XXX npxsave() doesn't actually initialize the fpu in the SSE case. */
+ if (cpu_fxsr)
+ fninit();
+#endif
fldcw(&control);
if (PCPU_GET(curpcb) != NULL)
fpusave(&PCPU_GET(curpcb)->pcb_save);