List.mui: Update entries count prior to range change
[AROS.git] / arch / i386-all / include / aros / cpucontext.h
blob281b75d541f6ec656f9ff7491e706e5d7eaf7d60
1 #ifndef AROS_I386_CPUCONTEXT_H
2 #define AROS_I386_CPUCONTEXT_H
4 /*
5 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: CPU context definition for x86 processors
9 Lang: english
12 typedef struct
14 UBYTE data[10];
15 } FPUReg;
17 struct FPUContext
19 ULONG fcw;
20 ULONG fsw;
21 ULONG ftw;
22 ULONG ip;
23 ULONG cs;
24 ULONG dp;
25 ULONG ds;
26 FPUReg r[8];
29 typedef struct
31 UBYTE data[10];
32 UBYTE pad[6];
33 } MMReg;
35 typedef struct
37 UBYTE data[16];
38 } XMMReg;
40 struct FPXContext
42 UWORD fcw;
43 UWORD fsw;
44 UWORD ftw;
45 UWORD fop;
46 ULONG ip;
47 ULONG cs;
48 ULONG dp;
49 ULONG ds;
50 ULONG mxcsr;
51 ULONG pad;
52 MMReg mm[8];
53 XMMReg xmm[8];
54 XMMReg reserved[14];
57 struct ExceptionContext
59 ULONG Flags; /* Context flags */
60 ULONG eax;
61 ULONG ebx;
62 ULONG ecx;
63 ULONG edx;
64 ULONG esi;
65 ULONG edi;
66 ULONG ebp;
67 ULONG ds;
68 ULONG es;
69 ULONG fs;
70 ULONG gs;
71 ULONG eip;
72 ULONG cs;
73 ULONG eflags;
74 ULONG esp;
75 ULONG ss;
77 struct FPUContext *FPData; /* Pointer to 8087 FPU context area */
78 struct FPXContext *FXData; /* Pointer to SSE context area */
81 enum enECFlags
83 ECF_SEGMENTS = 1<<0, /* Segment registers are present */
84 ECF_FPU = 1<<1, /* 8087 FPU context is present */
85 ECF_FPX = 1<<2, /* SSE context is present */
88 #endif