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:
parent
92dee8c3a0
commit
b376ebac6b
@ -98,7 +98,8 @@ ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp)
|
|||||||
* 64bit instruction and data pointers. Ignore the difference
|
* 64bit instruction and data pointers. Ignore the difference
|
||||||
* for now, it should be irrelevant for most applications.
|
* 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();
|
mcp->mc_fpformat = fpuformat();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +116,7 @@ ia32_set_fpcontext(struct thread *td, const struct ia32_mcontext *mcp)
|
|||||||
fpstate_drop(td);
|
fpstate_drop(td);
|
||||||
else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU ||
|
else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU ||
|
||||||
mcp->mc_ownedfp == _MC_FPOWNED_PCB) {
|
mcp->mc_ownedfp == _MC_FPOWNED_PCB) {
|
||||||
fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate);
|
fpusetuserregs(td, (struct savefpu *)&mcp->mc_fpstate);
|
||||||
} else
|
} else
|
||||||
return (EINVAL);
|
return (EINVAL);
|
||||||
return (0);
|
return (0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user