blob: 497c73b206c53720e4017e5bec9551216b087c8c (
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
49
50
51
|
syntax = "proto2";
import "opts.proto";
message user_s390_regs_entry {
required uint64 psw_mask = 1;
required uint64 psw_addr = 2;
repeated uint64 gprs = 3;
repeated uint32 acrs = 4;
required uint64 orig_gpr2 = 5;
required uint32 system_call = 6;
}
message user_s390_vxrs_low_entry {
repeated uint64 regs = 1;
}
/*
* The vxrs_high registers have 128 bit:
*
* vxrs_high_0 = regs[0] << 64 | regs[1];
* vxrs_high_1 = regs[2] << 64 | regs[3];
*/
message user_s390_vxrs_high_entry {
repeated uint64 regs = 1;
}
message user_s390_fpregs_entry {
required uint32 fpc = 1;
repeated uint64 fprs = 2;
}
message user_s390_gs_cb_entry {
repeated uint64 regs = 1;
}
message user_s390_ri_entry {
required uint32 ri_on = 1;
repeated uint64 regs = 2;
}
message thread_info_s390 {
required uint64 clear_tid_addr = 1[(criu).hex = true];
required user_s390_regs_entry gpregs = 2[(criu).hex = true];
required user_s390_fpregs_entry fpregs = 3[(criu).hex = true];
optional user_s390_vxrs_low_entry vxrs_low = 4[(criu).hex = true];
optional user_s390_vxrs_high_entry vxrs_high = 5[(criu).hex = true];
optional user_s390_gs_cb_entry gs_cb = 6[(criu).hex = true];
optional user_s390_gs_cb_entry gs_bc = 7[(criu).hex = true];
optional user_s390_ri_entry ri_cb = 8[(criu).hex = true];
}
|