summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/libogcfpc/src/ogc/context.inc
blob: bc2adaeb6bb0fdb4e1e646055d162647a5d0af42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

{$IFDEF OGC_INTERFACE}
const
  NUM_EXCEPTIONS = 15;
  EX_SYS_RESET = 0;
  EX_MACH_CHECK = 1;
  EX_DSI = 2;
  EX_ISI = 3;
  EX_INT = 4;
  EX_ALIGN = 5;
  EX_PRG = 6;
  EX_FP = 7;
  EX_DEC = 8;
  EX_SYS_CALL = 9;
  EX_TRACE = 10;
  EX_PERF = 11;
  EX_IABR = 12;
  EX_RESV = 13;
  EX_THERM = 14;

{$ifndef _LANGUAGE_ASSEMBLY}

type
  _excption_frame = record
    EXCPT_Number : cuint32;
    SRR0 : cuint32;
    SRR1 : cuint32;
    GPR : array [0..31] of cuint32;
    GQR : array [0..7] of cuint32;
    CR : cuint32;
    LR : cuint32;
    CTR : cuint32;
    XER : cuint32;
    MSR : cuint32;
    DAR : cuint32;
    state : cuint16;  //used to determine whether to restore the fpu context or not
    mode : cuint16;  //unused
    FPR : array [0..31] of f64;
    FPSCR : cuint64;
    PSFPR : array [0..31] of f64;
  end;
  frame_context = _excption_frame;


{$endif		_LANGUAGE_ASSEMBLY}
{$ENDIF}