summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/signal.h
diff options
context:
space:
mode:
authormini <mini@FreeBSD.org>2002-09-16 19:25:41 +0000
committermini <mini@FreeBSD.org>2002-09-16 19:25:41 +0000
commit62e41a5a7c826f21a8548bd3d7fcbc218809544e (patch)
treef68cce90cf752f653302c6c5c0876070f6fff7ab /sys/amd64/include/signal.h
parentd0ffcf396dc1f28a9d3e188b2dd0a72ad4838880 (diff)
downloadFreeBSD-src-62e41a5a7c826f21a8548bd3d7fcbc218809544e.zip
FreeBSD-src-62e41a5a7c826f21a8548bd3d7fcbc218809544e.tar.gz
Add kernel support needed for the KSE-aware libpthread:
- Maintain fpu state across signals. - Save and restore FPU state properly in ucontext_t's. Reviewed by: deischen, julian Approved by: -arch
Diffstat (limited to 'sys/amd64/include/signal.h')
-rw-r--r--sys/amd64/include/signal.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/amd64/include/signal.h b/sys/amd64/include/signal.h
index 603a14f..bf76791 100644
--- a/sys/amd64/include/signal.h
+++ b/sys/amd64/include/signal.h
@@ -117,13 +117,16 @@ struct sigcontext {
int sc_efl;
int sc_esp;
int sc_ss;
+ int sc_len; /* sizeof(struct mcontext_t) */
/*
- * XXX FPU state is 27 * 4 bytes h/w, 1 * 4 bytes s/w (probably not
- * needed here), or that + 16 * 4 bytes for emulators (probably all
- * needed here). The "spare" bytes are mostly not spare.
+ * XXX - See <machine/ucontext.h> and <machine/npx.h> for
+ * the following fields.
*/
- int sc_fpregs[28]; /* machine state (FPU): */
- int sc_spare[17];
+ int sc_fpformat;
+ int sc_ownedfp;
+ int sc_spare1[1];
+ int sc_fpregs[128];
+ int sc_spare2[8];
};
#define sc_sp sc_esp
OpenPOWER on IntegriCloud