summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_smp.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-09-05 20:17:40 +0000
committerpeter <peter@FreeBSD.org>1999-09-05 20:17:40 +0000
commit3bf1b4473ae66ac0e7a7c053ec9c38057781a5c5 (patch)
tree78d43c8487461b05617f93fba5beb0cabf1eda75 /sys/kern/subr_smp.c
parent2ba0669ae5964e6211d0282ec2b84f569b9a188c (diff)
downloadFreeBSD-src-3bf1b4473ae66ac0e7a7c053ec9c38057781a5c5.zip
FreeBSD-src-3bf1b4473ae66ac0e7a7c053ec9c38057781a5c5.tar.gz
Set up FPU state on the AP.
Tested by: phk
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r--sys/kern/subr_smp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index 283ed17..3711b37 100644
--- a/sys/kern/subr_smp.c
+++ b/sys/kern/subr_smp.c
@@ -72,6 +72,7 @@
#include <machine/tss.h>
#include <machine/specialreg.h>
#include <machine/cputypes.h>
+#include <machine/cputypes.h>
#include <machine/globaldata.h>
#if defined(APIC_IO)
@@ -2189,6 +2190,9 @@ ap_init()
/* XXX FIXME: i386 specific, and redundant: Setup the FPU. */
load_cr0((rcr0() & ~CR0_EM) | CR0_MP | CR0_NE | CR0_TS);
+ /* set up FPU state on the AP */
+ npxinit(__INITIAL_NPXCW__);
+
/* A quick check from sanity claus */
apic_id = (apic_id_to_logical[(lapic.id & 0x0f000000) >> 24]);
if (cpuid != apic_id) {
OpenPOWER on IntegriCloud