diff options
author | jeff <jeff@FreeBSD.org> | 2003-03-31 00:32:43 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2003-03-31 00:32:43 +0000 |
commit | 3a712624d5b9d9b3d425135f96f96e633eb6437c (patch) | |
tree | 038578c0e90bd1b1ca40cf4e5b70f844ea574aa0 /sys | |
parent | 5a582e1e30ccaab8c0c784bf6bee8223d9cd2a4e (diff) | |
download | FreeBSD-src-3a712624d5b9d9b3d425135f96f96e633eb6437c.zip FreeBSD-src-3a712624d5b9d9b3d425135f96f96e633eb6437c.tar.gz |
- In npxsetregs don't set the floating point if td == fpcurthread not if
curthread == fpcurthread. This is important when we're saving the fp
state for a thread other than curthread as in from set_mcontext.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/amd64/fpu.c | 2 | ||||
-rw-r--r-- | sys/amd64/isa/npx.c | 2 | ||||
-rw-r--r-- | sys/i386/isa/npx.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c index 4aa0715..cb7d53d 100644 --- a/sys/amd64/amd64/fpu.c +++ b/sys/amd64/amd64/fpu.c @@ -996,7 +996,7 @@ npxsetregs(td, addr) return; s = intr_disable(); - if (curthread == PCPU_GET(fpcurthread)) { + if (td == PCPU_GET(fpcurthread)) { fpurstor(addr); intr_restore(s); } else { diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c index 4aa0715..cb7d53d 100644 --- a/sys/amd64/isa/npx.c +++ b/sys/amd64/isa/npx.c @@ -996,7 +996,7 @@ npxsetregs(td, addr) return; s = intr_disable(); - if (curthread == PCPU_GET(fpcurthread)) { + if (td == PCPU_GET(fpcurthread)) { fpurstor(addr); intr_restore(s); } else { diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c index 4aa0715..cb7d53d 100644 --- a/sys/i386/isa/npx.c +++ b/sys/i386/isa/npx.c @@ -996,7 +996,7 @@ npxsetregs(td, addr) return; s = intr_disable(); - if (curthread == PCPU_GET(fpcurthread)) { + if (td == PCPU_GET(fpcurthread)) { fpurstor(addr); intr_restore(s); } else { |