summaryrefslogtreecommitdiffstats
path: root/sys/amd64/ia32
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2010-06-15 18:16:04 +0000
committerkib <kib@FreeBSD.org>2010-06-15 18:16:04 +0000
commit8e31ba530cbe76cf7541b0963ec638d546b4e334 (patch)
treeb698079c800273e8757cea59865c6e55446595a4 /sys/amd64/ia32
parent67f7af35eee38900875b3eb8ac1f9ce7eabc8fa7 (diff)
downloadFreeBSD-src-8e31ba530cbe76cf7541b0963ec638d546b4e334.zip
FreeBSD-src-8e31ba530cbe76cf7541b0963ec638d546b4e334.tar.gz
Remove two obsoleted comments, add a note about 32bit compatibility.
MFC after: 1 month
Diffstat (limited to 'sys/amd64/ia32')
-rw-r--r--sys/amd64/ia32/ia32_signal.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index 859b9923..cf1042c 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -92,6 +92,12 @@ static void
ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp)
{
+ /*
+ * XXX Format of 64bit and 32bit FXSAVE areas differs. FXSAVE
+ * in 32bit mode saves %cs and %ds, while on 64bit it saves
+ * 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_fpformat = fpuformat();
}
@@ -109,10 +115,6 @@ 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) {
- /*
- * XXX we violate the dubious requirement that fpusetregs()
- * be called with interrupts disabled.
- */
fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate);
} else
return (EINVAL);
OpenPOWER on IntegriCloud