diff options
author | ups <ups@FreeBSD.org> | 2005-09-22 15:46:21 +0000 |
---|---|---|
committer | ups <ups@FreeBSD.org> | 2005-09-22 15:46:21 +0000 |
commit | a71097651255924fbee48d4483f331b9b9985a97 (patch) | |
tree | 40c861123b6501647244db343c87b29e8727d64f | |
parent | 9d3a13d44754ee0bf6f6068fe2ada4e124731a7d (diff) | |
download | FreeBSD-src-a71097651255924fbee48d4483f331b9b9985a97.zip FreeBSD-src-a71097651255924fbee48d4483f331b9b9985a97.tar.gz |
Fix the "fpudna: fpcurthread == curthread XXX times" problem.
Tested by: kris@
Reviewed by: peter@
MFC after: 3 days
-rw-r--r-- | sys/amd64/linux32/linux32_sysvec.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index 4ac409a..0e687d1 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -806,6 +806,7 @@ exec_linux_setregs(td, entry, stack, ps_strings) regs->tf_cs = _ucode32sel; regs->tf_rbx = ps_strings; load_cr0(rcr0() | CR0_MP | CR0_TS); + fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ pcb->pcb_flags |= PCB_FULLCTX; |