revert between 56095 -> 55830 in arch
[AROS.git] / arch / ppc-all / include / aros / cpucontext.h
blobe3a23a5c00eaf43271b58b7768963c4eea07fdfc
1 #ifndef AROS_PPC_CPUCONTEXT_H
2 #define AROS_PPC_CPUCONTEXT_H
4 /*
5 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: CPU context definition for PowerPC processors
9 Lang: english
12 /* The following definitions are source-compatible with AmigaOS 4 */
14 struct ExceptionContext
16 ULONG Flags;
17 ULONG Traptype;
18 ULONG msr; /* Machine state */
19 ULONG ip; /* Return instruction pointer */
20 ULONG gpr[32];
21 ULONG cr; /* Condition codes */
22 ULONG xer; /* Extended exception register */
23 ULONG ctr; /* Count register */
24 ULONG lr; /* Link register */
25 ULONG dsisr; /* DSI status */
26 ULONG dar; /* Data address */
27 /* FPU context */
28 double fpr[32];
29 UQUAD fpscr; /* Status and control */
30 /* AltiVec context */
31 UBYTE vscr[16]; /* Status and control */
32 UBYTE vr[512];
33 ULONG vrsave;
36 enum enECFlags
38 ECF_FULL_GPRS = 1<<0, /* GPR 14-31 are present */
39 ECF_FPU = 1<<1, /* FPU reisters are present */
40 ECF_FULL_FPU = 1<<2, /* FPSCR is present */
41 ECF_VECTOR = 1<<3, /* AltiVec registers are present */
42 ECF_VRSAVE = 1<<4 /* VRSAVE is present */
45 #endif