summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2014-09-03 21:17:09 +0000
committerjhb <jhb@FreeBSD.org>2014-09-03 21:17:09 +0000
commit20b2f6f50116d53181aa9f2810bba9cc9dbdbe02 (patch)
treec38199bcd504c4b76f714999c2c60811292c1f86
parentf0e39e7a94f96f4b4e6fc7b1ca2bf73ec6320511 (diff)
downloadFreeBSD-src-20b2f6f50116d53181aa9f2810bba9cc9dbdbe02.zip
FreeBSD-src-20b2f6f50116d53181aa9f2810bba9cc9dbdbe02.tar.gz
Actually save and restore FPU state on APs during suspend and resume.
Committed from: Atom-based HP netbook after resuming in X
-rw-r--r--sys/i386/i386/mp_machdep.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c
index f90bcdb..1ea8f95 100644
--- a/sys/i386/i386/mp_machdep.c
+++ b/sys/i386/i386/mp_machdep.c
@@ -1522,15 +1522,11 @@ cpususpend_handler(void)
cpu = PCPU_GET(cpuid);
if (savectx(susppcbs[cpu])) {
-#ifdef DEV_NPX
- npxsuspend(&suspcbs[cpu]->pcb_fpususpend);
-#endif
+ npxsuspend(&susppcbs[cpu]->pcb_fpususpend);
wbinvd();
CPU_SET_ATOMIC(cpu, &suspended_cpus);
} else {
-#ifdef DEV_NPX
- npxresume(&suspcbs[cpu]->pcb_fpususpend);
-#endif
+ npxresume(&susppcbs[cpu]->pcb_fpususpend);
pmap_init_pat();
PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
OpenPOWER on IntegriCloud