|
|
1.1 ! root 1: /* ! 2: * /usr/include/ieeefp.h ! 3: * ! 4: * Describes the stack frame presented to a user signal handler, ! 5: * including (optional) floating point context. ! 6: * ! 7: * Revised Mon Mar 22 13:11:43 1993 CST ! 8: */ ! 9: ! 10: #ifndef __IEEEFP_H__ ! 11: #define __IEEEFP_H__ ! 12: ! 13: #include <sys/reg.h> ! 14: /* ! 15: * "fpem" objects are for floating point emulation. ! 16: * ! 17: * The stackframe passed to a signal handler includes a pointer "fpsp". ! 18: * This pointer is a (struct _fpstate *) when a true coprocessor is in use. ! 19: * It is actually a (struct _fpemstate *), and must be cast thus, when ! 20: * the emulator is used. ! 21: * The declaration of "fpsp" is kept as (struct _fpstate *) for BCS ! 22: * compatibility. ! 23: */ ! 24: ! 25: struct _fpem_reg { ! 26: char sign; ! 27: char tag; ! 28: long exp; ! 29: unsigned sigl; ! 30: unsigned sigh; ! 31: }; ! 32: ! 33: struct _fpstackframe { ! 34: long signo; ! 35: long regs[SS+1]; ! 36: struct _fpstate *fpsp; ! 37: char *wsp; ! 38: }; ! 39: ! 40: struct _fpreg { ! 41: unsigned short significand[4]; ! 42: unsigned short exponent; ! 43: }; ! 44: ! 45: struct _fpstate { ! 46: unsigned long cw, ! 47: sw, ! 48: tag, ! 49: ipoff, ! 50: cssel, ! 51: dataoff, ! 52: datasel; ! 53: struct _fpreg _st[8]; ! 54: unsigned long status; ! 55: }; ! 56: ! 57: struct _fpemstate { ! 58: unsigned long cw, ! 59: sw, ! 60: tag, ! 61: ipoff, ! 62: cssel, ! 63: dataoff, ! 64: datasel, ! 65: top; ! 66: struct _fpem_reg regs[8]; /* pseudo regs */ ! 67: unsigned char lookahead; ! 68: unsigned long status, ! 69: entry_eip; ! 70: }; ! 71: ! 72: /* For kernel context in u area, which keeps either emulator or ndp status. */ ! 73: union _fpcontext { ! 74: struct _fpstate fpstate; ! 75: struct _fpemstate fpemstate; ! 76: }; ! 77: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.