svn commit: r209208 - in head/sys/amd64: amd64 ia32

Konstantin Belousov kib at FreeBSD.org
Tue Jun 15 18:16:05 UTC 2010


Author: kib
Date: Tue Jun 15 18:16:04 2010
New Revision: 209208
URL: http://svn.freebsd.org/changeset/base/209208

Log:
  Remove two obsoleted comments, add a note about 32bit compatibility.
  
  MFC after:	1 month

Modified:
  head/sys/amd64/amd64/machdep.c
  head/sys/amd64/ia32/ia32_signal.c

Modified: head/sys/amd64/amd64/machdep.c
==============================================================================
--- head/sys/amd64/amd64/machdep.c	Tue Jun 15 18:11:37 2010	(r209207)
+++ head/sys/amd64/amd64/machdep.c	Tue Jun 15 18:16:04 2010	(r209208)
@@ -2103,11 +2103,6 @@ set_fpcontext(struct thread *td, const m
 		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.
-		 * XXX obsolete on trap-16 systems?
-		 */
 		fpstate = (struct savefpu *)&mcp->mc_fpstate;
 		fpstate->sv_env.en_mxcsr &= cpu_mxcsr_mask;
 		fpusetuserregs(td, fpstate);

Modified: head/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- head/sys/amd64/ia32/ia32_signal.c	Tue Jun 15 18:11:37 2010	(r209207)
+++ head/sys/amd64/ia32/ia32_signal.c	Tue Jun 15 18:16:04 2010	(r209208)
@@ -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, co
 		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);


More information about the svn-src-head mailing list