diff options
author | bde <bde@FreeBSD.org> | 1995-01-03 03:57:46 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-01-03 03:57:46 +0000 |
commit | e4e72b67bc453d5a968efa9f3c507e729106a567 (patch) | |
tree | 149b2814a4b6b598049b43e8e6be33cb7b088e86 /sys | |
parent | 01cf760ecd5615c93e793b1831e2b1bb3b60969b (diff) | |
download | FreeBSD-src-e4e72b67bc453d5a968efa9f3c507e729106a567.zip FreeBSD-src-e4e72b67bc453d5a968efa9f3c507e729106a567.tar.gz |
Replace sv_ex_tw by padding (it is no longer used; the tag word in sv_env
is valid).
Expand comment about bogus padding for emulators.
Update prototpe for npxinit().
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/include/fpu.h | 21 | ||||
-rw-r--r-- | sys/amd64/include/npx.h | 21 | ||||
-rw-r--r-- | sys/i386/include/npx.h | 21 |
3 files changed, 39 insertions, 24 deletions
diff --git a/sys/amd64/include/fpu.h b/sys/amd64/include/fpu.h index 98a6ea8..e56fdc2 100644 --- a/sys/amd64/include/fpu.h +++ b/sys/amd64/include/fpu.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)npx.h 5.3 (Berkeley) 1/18/91 - * $Id: npx.h,v 1.5 1994/11/04 02:13:15 jkh Exp $ + * $Id: npx.h,v 1.6 1994/11/05 22:59:09 bde Exp $ */ /* @@ -71,13 +71,18 @@ struct fpacc87 { /* Floating point context */ struct save87 { - struct env87 sv_env; /* floating point control/status */ + struct env87 sv_env; /* floating point control/status */ struct fpacc87 sv_ac[8]; /* accumulator contents, 0-7 */ - u_long sv_ex_sw; /* status word for last exception (was pad) */ - u_long sv_ex_tw; /* tag word for last exception (was pad) */ - u_char sv_pad[60]; /* needed for the GPL math emulator */ - /* the whole length of this structure - must match i387_union */ + u_long sv_ex_sw; /* status word for last exception */ + /* + * Bogus padding for emulators. Emulators should use their own + * struct and arrange to store into this struct (ending here) + * before it is inspected for ptracing or for core dumps. Some + * emulators overwrite the whole struct. We have no good way of + * knowing how much padding to leave. Leave just enough for the + * GPL emulator's i387_union (176 bytes total). + */ + u_char sv_pad[64]; /* padding; used by emulators */ }; /* Cyrix EMC memory - mapped coprocessor context switch information */ @@ -144,7 +149,7 @@ struct proc; int npxdna __P((void)); void npxexit __P((struct proc *p)); -void npxinit __P((u_int control)); +void npxinit __P((int control)); void npxintr __P((struct intrframe frame)); void npxsave __P((struct save87 *addr)); #endif diff --git a/sys/amd64/include/npx.h b/sys/amd64/include/npx.h index 98a6ea8..e56fdc2 100644 --- a/sys/amd64/include/npx.h +++ b/sys/amd64/include/npx.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)npx.h 5.3 (Berkeley) 1/18/91 - * $Id: npx.h,v 1.5 1994/11/04 02:13:15 jkh Exp $ + * $Id: npx.h,v 1.6 1994/11/05 22:59:09 bde Exp $ */ /* @@ -71,13 +71,18 @@ struct fpacc87 { /* Floating point context */ struct save87 { - struct env87 sv_env; /* floating point control/status */ + struct env87 sv_env; /* floating point control/status */ struct fpacc87 sv_ac[8]; /* accumulator contents, 0-7 */ - u_long sv_ex_sw; /* status word for last exception (was pad) */ - u_long sv_ex_tw; /* tag word for last exception (was pad) */ - u_char sv_pad[60]; /* needed for the GPL math emulator */ - /* the whole length of this structure - must match i387_union */ + u_long sv_ex_sw; /* status word for last exception */ + /* + * Bogus padding for emulators. Emulators should use their own + * struct and arrange to store into this struct (ending here) + * before it is inspected for ptracing or for core dumps. Some + * emulators overwrite the whole struct. We have no good way of + * knowing how much padding to leave. Leave just enough for the + * GPL emulator's i387_union (176 bytes total). + */ + u_char sv_pad[64]; /* padding; used by emulators */ }; /* Cyrix EMC memory - mapped coprocessor context switch information */ @@ -144,7 +149,7 @@ struct proc; int npxdna __P((void)); void npxexit __P((struct proc *p)); -void npxinit __P((u_int control)); +void npxinit __P((int control)); void npxintr __P((struct intrframe frame)); void npxsave __P((struct save87 *addr)); #endif diff --git a/sys/i386/include/npx.h b/sys/i386/include/npx.h index 98a6ea8..e56fdc2 100644 --- a/sys/i386/include/npx.h +++ b/sys/i386/include/npx.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)npx.h 5.3 (Berkeley) 1/18/91 - * $Id: npx.h,v 1.5 1994/11/04 02:13:15 jkh Exp $ + * $Id: npx.h,v 1.6 1994/11/05 22:59:09 bde Exp $ */ /* @@ -71,13 +71,18 @@ struct fpacc87 { /* Floating point context */ struct save87 { - struct env87 sv_env; /* floating point control/status */ + struct env87 sv_env; /* floating point control/status */ struct fpacc87 sv_ac[8]; /* accumulator contents, 0-7 */ - u_long sv_ex_sw; /* status word for last exception (was pad) */ - u_long sv_ex_tw; /* tag word for last exception (was pad) */ - u_char sv_pad[60]; /* needed for the GPL math emulator */ - /* the whole length of this structure - must match i387_union */ + u_long sv_ex_sw; /* status word for last exception */ + /* + * Bogus padding for emulators. Emulators should use their own + * struct and arrange to store into this struct (ending here) + * before it is inspected for ptracing or for core dumps. Some + * emulators overwrite the whole struct. We have no good way of + * knowing how much padding to leave. Leave just enough for the + * GPL emulator's i387_union (176 bytes total). + */ + u_char sv_pad[64]; /* padding; used by emulators */ }; /* Cyrix EMC memory - mapped coprocessor context switch information */ @@ -144,7 +149,7 @@ struct proc; int npxdna __P((void)); void npxexit __P((struct proc *p)); -void npxinit __P((u_int control)); +void npxinit __P((int control)); void npxintr __P((struct intrframe frame)); void npxsave __P((struct save87 *addr)); #endif |