OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-i386/] [sigcontext.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _ASMi386_SIGCONTEXT_H
2
#define _ASMi386_SIGCONTEXT_H
3
 
4
/*
5
 * As documented in the iBCS2 standard..
6
 *
7
 * The first part of "struct _fpstate" is just the normal i387
8
 * hardware setup, the extra "status" word is used to save the
9
 * coprocessor status word before entering the handler.
10
 *
11
 * Pentium III FXSR, SSE support
12
 *      Gareth Hughes <gareth@valinux.com>, May 2000
13
 *
14
 * The FPU state data structure has had to grow to accomodate the
15
 * extended FPU state required by the Streaming SIMD Extensions.
16
 * There is no documented standard to accomplish this at the moment.
17
 */
18
struct _fpreg {
19
        unsigned short significand[4];
20
        unsigned short exponent;
21
};
22
 
23
struct _fpxreg {
24
        unsigned short significand[4];
25
        unsigned short exponent;
26
        unsigned short padding[3];
27
};
28
 
29
struct _xmmreg {
30
        unsigned long element[4];
31
};
32
 
33
struct _fpstate {
34
        /* Regular FPU environment */
35
        unsigned long   cw;
36
        unsigned long   sw;
37
        unsigned long   tag;
38
        unsigned long   ipoff;
39
        unsigned long   cssel;
40
        unsigned long   dataoff;
41
        unsigned long   datasel;
42
        struct _fpreg   _st[8];
43
        unsigned short  status;
44
        unsigned short  magic;          /* 0xffff = regular FPU data only */
45
 
46
        /* FXSR FPU environment */
47
        unsigned long   _fxsr_env[6];   /* FXSR FPU env is ignored */
48
        unsigned long   mxcsr;
49
        unsigned long   reserved;
50
        struct _fpxreg  _fxsr_st[8];    /* FXSR FPU reg data is ignored */
51
        struct _xmmreg  _xmm[8];
52
        unsigned long   padding[56];
53
};
54
 
55
#define X86_FXSR_MAGIC          0x0000
56
 
57
struct sigcontext {
58
        unsigned short gs, __gsh;
59
        unsigned short fs, __fsh;
60
        unsigned short es, __esh;
61
        unsigned short ds, __dsh;
62
        unsigned long edi;
63
        unsigned long esi;
64
        unsigned long ebp;
65
        unsigned long esp;
66
        unsigned long ebx;
67
        unsigned long edx;
68
        unsigned long ecx;
69
        unsigned long eax;
70
        unsigned long trapno;
71
        unsigned long err;
72
        unsigned long eip;
73
        unsigned short cs, __csh;
74
        unsigned long eflags;
75
        unsigned long esp_at_signal;
76
        unsigned short ss, __ssh;
77
        struct _fpstate * fpstate;
78
        unsigned long oldmask;
79
        unsigned long cr2;
80
};
81
 
82
 
83
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.