diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index 91884d22eaf..e5f82fe0253 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 674a286e1e3..112cdeb47ba 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 */