|
@@ -18,6 +18,44 @@
|
|
|
|
|
|
const
|
|
|
__SUNOS_MAXWIN = 31;
|
|
|
+ SIG_G0 = 0;
|
|
|
+ SIG_G1 = 1;
|
|
|
+ SIG_G2 = 2;
|
|
|
+ SIG_G3 = 3;
|
|
|
+ SIG_G4 = 4;
|
|
|
+ SIG_G5 = 5;
|
|
|
+ SIG_G6 = 6;
|
|
|
+ SIG_G7 = 7;
|
|
|
+ SIG_O0 = 8;
|
|
|
+ SIG_O1 = 9;
|
|
|
+ SIG_O2 = 10;
|
|
|
+ SIG_O3 = 11;
|
|
|
+ SIG_O4 = 12;
|
|
|
+ SIG_O5 = 13;
|
|
|
+ SIG_O6 = 14;
|
|
|
+ SIG_O7 = 15;
|
|
|
+ { l and i registers do not seem to be
|
|
|
+ written in sigcontext struct
|
|
|
+ SIG_L0 = 16;
|
|
|
+ SIG_L1 = 17;
|
|
|
+ SIG_L2 = 18;
|
|
|
+ SIG_L3 = 19;
|
|
|
+ SIG_L4 = 20;
|
|
|
+ SIG_L5 = 21;
|
|
|
+ SIG_L6 = 22;
|
|
|
+ SIG_L7 = 23;
|
|
|
+ SIG_I0 = 24;
|
|
|
+ SIG_I1 = 25;
|
|
|
+ SIG_I2 = 26;
|
|
|
+ SIG_I3 = 27;
|
|
|
+ SIG_I4 = 28;
|
|
|
+ SIG_I5 = 29;
|
|
|
+ SIG_I6 = 30;
|
|
|
+ SIG_I7 = 31; }
|
|
|
+
|
|
|
+ SIG_SP = SIG_O6;
|
|
|
+ { SIG_FP = SIG_I6; }
|
|
|
+
|
|
|
|
|
|
type
|
|
|
twbuf = record
|
|
@@ -27,21 +65,14 @@ type
|
|
|
|
|
|
PSigContext = ^TSigContext;
|
|
|
TSigContext = record
|
|
|
- sigc_onstack, { state to restore }
|
|
|
- sigc_mask, { sigmask to restore }
|
|
|
- sigc_sp, { stack pointer }
|
|
|
+ // sigc_onstack, { state to restore }
|
|
|
+ // sigc_mask, { sigmask to restore }
|
|
|
+ // sigc_sp, { stack pointer }
|
|
|
+ sigc_psr, { for condition codes etc }
|
|
|
sigc_pc, { program counter }
|
|
|
sigc_npc, { next program counter }
|
|
|
- sigc_psr, { for condition codes etc }
|
|
|
- sigc_g1, { User uses these two registers }
|
|
|
- sigc_o0, { within the trampoline code. }
|
|
|
- { Now comes information regarding the users window set
|
|
|
- * at the time of the signal. }
|
|
|
- sigc_oswins : longint; { outstanding windows }
|
|
|
- { stack ptrs for each regwin buf }
|
|
|
- sigc_spbuf : array[0..__SUNOS_MAXWIN-1] of pchar;
|
|
|
- { Windows to restore after signal }
|
|
|
- sigc_wbuf : array[0..__SUNOS_MAXWIN] of twbuf;
|
|
|
+ sigc_y : clong;
|
|
|
+ sigc_gregs : array [0..31] of clong;
|
|
|
end;
|
|
|
|
|
|
|