Merge from vendor branch OPENSSL:
[dragonfly.git] / sys / i386 / gnu / fpemul / math_emu.h
1 /*
2  *
3  * $FreeBSD: src/sys/gnu/i386/fpemul/math_emu.h,v 1.5 1999/08/28 00:42:52 peter Exp $
4  * $DragonFly: src/sys/i386/gnu/fpemul/Attic/math_emu.h,v 1.2 2003/06/17 04:28:34 dillon Exp $
5  *
6  */
7
8 #ifndef _MATH_EMU_H
9 #define _MATH_EMU_H
10
11 struct fpu_reg {
12         char    sign;
13         char    tag;
14         long    exp;
15         u_long  sigl;
16         u_long  sigh;
17 };
18
19 union i387_union {
20         struct i387_hard_struct {
21                 long    cwd;
22                 long    swd;
23                 long    twd;
24                 long    fip;
25                 long    fcs;
26                 long    foo;
27                 long    fos;
28                 long    st_space[20];   /* 8*10 bytes for each FP-reg = 80
29                                          * bytes */
30         }       hard;
31         struct i387_soft_struct {
32                 long    cwd;
33                 long    swd;
34                 long    twd;
35                 long    fip;
36                 long    fcs;
37                 long    foo;
38                 long    fos;
39                 long    top;
40                 struct fpu_reg regs[8]; /* 8*16 bytes for each FP-reg = 128
41                                          * bytes */
42                 unsigned char lookahead;
43                 struct trapframe *frame;
44                 unsigned long entry_eip;
45                 int     orig_eip;
46         }       soft;
47 };
48 #endif