diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-07-21 14:08:10 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-07-21 14:08:10 +0000 |
commit | 9131a6ee5832d2c6f2b1e83160310041b9c09dcf (patch) | |
tree | 1a05bdaa2c84f812a3b1073ea54c3111d16c6996 /sys/arch/i386/isa | |
parent | 1e391320a89a368a6bd23e358164aedbe4b983ce (diff) |
Make sure that the FPU IPIs shoot down the right FPU context and not the FPU
context of some random process that happened to be switched onto the FPU
after the decision was made to send the IPI.
Diffstat (limited to 'sys/arch/i386/isa')
-rw-r--r-- | sys/arch/i386/isa/npx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/i386/isa/npx.c b/sys/arch/i386/isa/npx.c index 232886c0788..5f8c73defaf 100644 --- a/sys/arch/i386/isa/npx.c +++ b/sys/arch/i386/isa/npx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: npx.c,v 1.48 2010/06/29 21:13:43 thib Exp $ */ +/* $OpenBSD: npx.c,v 1.49 2010/07/21 14:08:09 kettenis Exp $ */ /* $NetBSD: npx.c,v 1.57 1996/05/12 23:12:24 mycroft Exp $ */ #if 0 @@ -848,9 +848,9 @@ npxsave_proc(struct proc *p, int save) IPRINTF(("%s: fp ipi to %s %s %lx\n", ci->ci_dev.dv_xname, oci->ci_dev.dv_xname, save ? "save" : "flush", (u_long)p)); + oci->ci_fpsaveproc = p; i386_send_ipi(oci, save ? I386_IPI_SYNCH_FPU : I386_IPI_FLUSH_FPU); - while (p->p_addr->u_pcb.pcb_fpcpu != NULL) SPINLOCK_SPIN_HOOK; } |