@@ -3,11 +3,72 @@ use PT_FIRSTMACH;
3
3
pub type c_long = i64 ;
4
4
pub type c_ulong = u64 ;
5
5
pub type c_char = u8 ;
6
+ pub type __greg_t = u64 ;
6
7
pub type __cpu_simple_lock_nv_t = :: c_int ;
7
8
9
+ s ! {
10
+ pub struct mcontext_t {
11
+ pub __gregs: [ :: greg_t; 32 ] ,
12
+ pub __fregs: [ __c_anonymous__fpreg; 33 ] ,
13
+ __spare: [ :: __greg_t; 7 ] ,
14
+ }
15
+ }
16
+
17
+ s_no_extra_traits ! {
18
+ #[ cfg_attr( feature = "extra_traits" , allow( missing_debug_implementations) ) ]
19
+ pub union __c_anonymous__fpreg {
20
+ pub u_u64: u64 ,
21
+ pub u_d: :: c_double,
22
+ }
23
+ }
24
+
8
25
pub ( crate ) const _ALIGNBYTES: usize = :: mem:: size_of :: < :: c_long > ( ) - 1 ;
9
26
10
27
pub const PT_GETREGS : :: c_int = PT_FIRSTMACH + 0 ;
11
28
pub const PT_SETREGS : :: c_int = PT_FIRSTMACH + 1 ;
12
29
pub const PT_GETFPREGS : :: c_int = PT_FIRSTMACH + 2 ;
13
30
pub const PT_SETFPREGS : :: c_int = PT_FIRSTMACH + 3 ;
31
+
32
+ pub const _REG_X1: :: c_int = 0 ;
33
+ pub const _REG_X2: :: c_int = 1 ;
34
+ pub const _REG_X3: :: c_int = 2 ;
35
+ pub const _REG_X4: :: c_int = 3 ;
36
+ pub const _REG_X5: :: c_int = 4 ;
37
+ pub const _REG_X6: :: c_int = 5 ;
38
+ pub const _REG_X7: :: c_int = 6 ;
39
+ pub const _REG_X8: :: c_int = 7 ;
40
+ pub const _REG_X9: :: c_int = 8 ;
41
+ pub const _REG_X10: :: c_int = 9 ;
42
+ pub const _REG_X11: :: c_int = 10 ;
43
+ pub const _REG_X12: :: c_int = 11 ;
44
+ pub const _REG_X13: :: c_int = 12 ;
45
+ pub const _REG_X14: :: c_int = 13 ;
46
+ pub const _REG_X15: :: c_int = 14 ;
47
+ pub const _REG_X16: :: c_int = 15 ;
48
+ pub const _REG_X17: :: c_int = 16 ;
49
+ pub const _REG_X18: :: c_int = 17 ;
50
+ pub const _REG_X19: :: c_int = 18 ;
51
+ pub const _REG_X20: :: c_int = 19 ;
52
+ pub const _REG_X21: :: c_int = 20 ;
53
+ pub const _REG_X22: :: c_int = 21 ;
54
+ pub const _REG_X23: :: c_int = 22 ;
55
+ pub const _REG_X24: :: c_int = 23 ;
56
+ pub const _REG_X25: :: c_int = 24 ;
57
+ pub const _REG_X26: :: c_int = 25 ;
58
+ pub const _REG_X27: :: c_int = 26 ;
59
+ pub const _REG_X28: :: c_int = 27 ;
60
+ pub const _REG_X29: :: c_int = 28 ;
61
+ pub const _REG_X30: :: c_int = 29 ;
62
+ pub const _REG_X31: :: c_int = 30 ;
63
+ pub const _REG_PC: :: c_int = 31 ;
64
+
65
+ pub const _REG_RA: :: c_int = _REG_X1;
66
+ pub const _REG_SP: :: c_int = _REG_X2;
67
+ pub const _REG_GP: :: c_int = _REG_X3;
68
+ pub const _REG_TP: :: c_int = _REG_X4;
69
+ pub const _REG_S0: :: c_int = _REG_X8;
70
+ pub const _REG_RV: :: c_int = _REG_X10;
71
+ pub const _REG_A0: :: c_int = _REG_X10;
72
+
73
+ pub const _REG_F0: :: c_int = 0 ;
74
+ pub const _REG_FPCSR: :: c_int = 32 ;
0 commit comments