File: core-s390.proto

package info (click to toggle)
golang-github-checkpoint-restore-go-criu 7.2.0%2Bds1-4
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid, trixie
  • size: 1,796 kB
  • sloc: makefile: 231; ansic: 195; python: 137; sh: 110
file content (53 lines) | stat: -rw-r--r-- 1,379 bytes parent folder | download | duplicates (5)
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
52
53
// SPDX-License-Identifier: MIT

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];
}