diff options
author | mini <mini@FreeBSD.org> | 2002-09-16 19:25:41 +0000 |
---|---|---|
committer | mini <mini@FreeBSD.org> | 2002-09-16 19:25:41 +0000 |
commit | 62e41a5a7c826f21a8548bd3d7fcbc218809544e (patch) | |
tree | f68cce90cf752f653302c6c5c0876070f6fff7ab /sys/i386/include/signal.h | |
parent | d0ffcf396dc1f28a9d3e188b2dd0a72ad4838880 (diff) | |
download | FreeBSD-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/i386/include/signal.h')
-rw-r--r-- | sys/i386/include/signal.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/i386/include/signal.h b/sys/i386/include/signal.h index 603a14f..bf76791 100644 --- a/sys/i386/include/signal.h +++ b/sys/i386/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 |