diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2014-02-02 22:49:39 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2014-02-02 22:49:39 +0000 |
commit | 9d60278c0234623b98d6186120a6172e290f4ea1 (patch) | |
tree | e1592bef77eae55f4c39390a579811a8ec4380ef | |
parent | 1602172a1dcdce9bafff7d06a8c5862310ce0a2c (diff) |
Force an fpu context synchronization before halting secondary processors.
Similar to what other platforms do.
-rw-r--r-- | sys/arch/alpha/alpha/ipifuncs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/alpha/alpha/ipifuncs.c b/sys/arch/alpha/alpha/ipifuncs.c index dd93f76f36a..84969d853da 100644 --- a/sys/arch/alpha/alpha/ipifuncs.c +++ b/sys/arch/alpha/alpha/ipifuncs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ipifuncs.c,v 1.5 2014/02/01 21:19:02 miod Exp $ */ +/* $OpenBSD: ipifuncs.c,v 1.6 2014/02/02 22:49:38 miod Exp $ */ /* $NetBSD: ipifuncs.c,v 1.9 1999/12/02 01:09:11 thorpej Exp $ */ /*- @@ -155,8 +155,9 @@ alpha_multicast_ipi(u_long cpumask, u_long ipimask) void alpha_ipi_halt(struct cpu_info *ci, struct trapframe *framep) { - /* Disable interrupts. */ - (void) splhigh(); + SCHED_ASSERT_UNLOCKED(); + fpusave_cpu(ci, 1); + (void)splhigh(); cpu_halt(); /* NOTREACHED */ |