|
|
1.1 ! root 1: #ifndef _I386_MATH_EMU_H ! 2: #define _I386_MATH_EMU_H ! 3: ! 4: #include <asm/sigcontext.h> ! 5: ! 6: void restore_i387_soft(struct _fpstate *buf); ! 7: struct _fpstate * save_i387_soft(struct _fpstate * buf); ! 8: ! 9: struct fpu_reg { ! 10: char sign; ! 11: char tag; ! 12: long exp; ! 13: unsigned sigl; ! 14: unsigned sigh; ! 15: }; ! 16: ! 17: ! 18: /* This structure matches the layout of the data saved to the stack ! 19: following a device-not-present interrupt, part of it saved ! 20: automatically by the 80386/80486. ! 21: */ ! 22: struct info { ! 23: long ___orig_eip; ! 24: long ___ret_from_system_call; ! 25: long ___ebx; ! 26: long ___ecx; ! 27: long ___edx; ! 28: long ___esi; ! 29: long ___edi; ! 30: long ___ebp; ! 31: long ___eax; ! 32: long ___ds; ! 33: long ___es; ! 34: long ___fs; ! 35: long ___gs; ! 36: long ___orig_eax; ! 37: long ___eip; ! 38: long ___cs; ! 39: long ___eflags; ! 40: long ___esp; ! 41: long ___ss; ! 42: long ___vm86_es; /* This and the following only in vm86 mode */ ! 43: long ___vm86_ds; ! 44: long ___vm86_fs; ! 45: long ___vm86_gs; ! 46: }; ! 47: ! 48: /* Interface for converting data between the emulator format ! 49: * and the hardware format. Used for core dumping and for ! 50: * ptrace(2) */ ! 51: void hardreg_to_softreg(const char hardreg[10], ! 52: struct fpu_reg *soft_reg); ! 53: ! 54: void softreg_to_hardreg(const struct fpu_reg *rp, char d[10], ! 55: long int control_word); ! 56: ! 57: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.