In the ia32_{get,set}_fpcontext(), use fpu{get,set}userregs instead

of fpu{get,set}regs.

Noted by:	bde
MFC after:	1 month
This commit is contained in:
Konstantin Belousov 2010-06-17 12:35:17 +00:00
parent 92dee8c3a0
commit b376ebac6b

View File

@ -98,7 +98,8 @@ ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp)
* 64bit instruction and data pointers. Ignore the difference
* for now, it should be irrelevant for most applications.
*/
mcp->mc_ownedfp = fpugetregs(td, (struct savefpu *)&mcp->mc_fpstate);
mcp->mc_ownedfp = fpugetuserregs(td,
(struct savefpu *)&mcp->mc_fpstate);
mcp->mc_fpformat = fpuformat();
}
@ -115,7 +116,7 @@ ia32_set_fpcontext(struct thread *td, const struct ia32_mcontext *mcp)
fpstate_drop(td);
else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU ||
mcp->mc_ownedfp == _MC_FPOWNED_PCB) {
fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate);
fpusetuserregs(td, (struct savefpu *)&mcp->mc_fpstate);
} else
return (EINVAL);
return (0);