diff options
author | jkim <jkim@FreeBSD.org> | 2011-01-14 21:09:01 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2011-01-14 21:09:01 +0000 |
commit | 4b834288ce8667ad26a86accbaef16a80eee2007 (patch) | |
tree | 2b9ae245e97cf61fe7e20516ba7df0345187d5f3 /sys/amd64 | |
parent | 953bb11fc96bd5917a100aed63201de5a81734b9 (diff) | |
download | FreeBSD-src-4b834288ce8667ad26a86accbaef16a80eee2007.zip FreeBSD-src-4b834288ce8667ad26a86accbaef16a80eee2007.tar.gz |
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
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/ia32/ia32_signal.c | 1 | ||||
-rw-r--r-- | sys/amd64/linux32/linux32_sysvec.c | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index 91884d2..e5f82fe 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 674a286e..112cdeb 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 */ |