aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2011-01-14 21:09:01 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2011-01-14 21:09:01 +0000
commitbdbf2db5b26f089ada50d1d9f7954d0550b505a8 (patch)
tree2b9ae245e97cf61fe7e20516ba7df0345187d5f3 /sys/amd64
parentc6397d3f0ed24d7d4605d1d8151a658776d991e0 (diff)
downloadsrc-bdbf2db5b26f089ada50d1d9f7954d0550b505a8.tar.gz
src-bdbf2db5b26f089ada50d1d9f7954d0550b505a8.zip
Remove redundant, bogus, and even harmful uses of setting TS bit in CR0.
It is done from fpstate_drop() when it is really necessary. Reviewed by: kib MFC after: 1 week
Notes
Notes: svn path=/head/; revision=217424
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/ia32/ia32_signal.c1
-rw-r--r--sys/amd64/linux32/linux32_sysvec.c2
2 files changed, 1 insertions, 2 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index 91884d22eaf8..e5f82fe0253b 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -741,7 +741,6 @@ ia32_setregs(struct thread *td, struct image_params *imgp, u_long stack)
regs->tf_gs = _ugssel;
regs->tf_flags = TF_HASSEGS;
- load_cr0(rcr0() | CR0_MP | CR0_TS);
fpstate_drop(td);
/* Return via doreti so that we can change to a different %cs */
diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c
index 674a286e1e33..112cdeb47bab 100644
--- a/sys/amd64/linux32/linux32_sysvec.c
+++ b/sys/amd64/linux32/linux32_sysvec.c
@@ -865,7 +865,7 @@ exec_linux_setregs(struct thread *td, struct image_params *imgp, u_long stack)
regs->tf_flags = TF_HASSEGS;
regs->tf_cs = _ucode32sel;
regs->tf_rbx = imgp->ps_strings;
- load_cr0(rcr0() | CR0_MP | CR0_TS);
+
fpstate_drop(td);
/* Do full restore on return so that we can change to a different %cs */