2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-22 01:51:51 +00:00
criu/images/core.proto
znley ec6dc2d5c0 images: add loongarch64 core image
Signed-off-by: znley <shanjiantao@loongson.cn>
2023-10-22 13:29:25 -07:00

142 lines
3.4 KiB
Protocol Buffer

// SPDX-License-Identifier: MIT
syntax = "proto2";
import "core-x86.proto";
import "core-arm.proto";
import "core-aarch64.proto";
import "core-ppc64.proto";
import "core-s390.proto";
import "core-mips.proto";
import "core-loongarch64.proto";
import "rlimit.proto";
import "timer.proto";
import "creds.proto";
import "sa.proto";
import "siginfo.proto";
import "rseq.proto";
import "opts.proto";
/*
* These match the SECCOMP_MODE_* flags from <linux/seccomp.h>.
*/
enum seccomp_mode {
disabled = 0;
strict = 1;
filter = 2;
};
message task_core_entry {
required uint32 task_state = 1 [(criu).dict = "gen"];
required uint32 exit_code = 2;
required uint32 personality = 3;
required uint32 flags = 4;
required uint64 blk_sigset = 5[(criu).hex = true];
required string comm = 6;
optional task_timers_entry timers = 7;
optional task_rlimits_entry rlimits = 8;
/* This is deprecated, should be per-thread */
optional uint32 cg_set = 9;
optional signal_queue_entry signals_s = 10;
/* These two are deprecated, should be per-thread */
optional seccomp_mode old_seccomp_mode = 11;
optional uint32 old_seccomp_filter = 12;
optional uint32 loginuid = 13;
optional int32 oom_score_adj = 14;
repeated sa_entry sigactions = 15;
// Reserved for tty inheritance
//optional int32 tty_nr = 16;
//optional int32 tty_pgrp = 17;
optional bool child_subreaper = 18;
// Reserved for container relative start time
//optional uint64 start_time = 19;
optional uint64 blk_sigset_extended = 20[(criu).hex = true];
optional uint32 stop_signo = 21;
}
message task_kobj_ids_entry {
required uint32 vm_id = 1;
required uint32 files_id = 2;
required uint32 fs_id = 3;
required uint32 sighand_id = 4;
optional uint32 pid_ns_id = 5;
optional uint32 net_ns_id = 6;
optional uint32 ipc_ns_id = 7;
optional uint32 uts_ns_id = 8;
optional uint32 mnt_ns_id = 9;
optional uint32 user_ns_id = 10;
optional uint32 cgroup_ns_id = 11;
optional uint32 time_ns_id = 12;
}
message thread_sas_entry {
required uint64 ss_sp = 1;
required uint64 ss_size = 2;
required uint32 ss_flags = 3;
}
message thread_core_entry {
required uint64 futex_rla = 1;
required uint32 futex_rla_len = 2;
optional sint32 sched_nice = 3;
optional uint32 sched_policy = 4;
optional uint32 sched_prio = 5;
optional uint64 blk_sigset = 6;
optional thread_sas_entry sas = 7;
optional uint32 pdeath_sig = 8;
optional signal_queue_entry signals_p = 9;
optional creds_entry creds = 10;
optional seccomp_mode seccomp_mode = 11;
optional uint32 seccomp_filter = 12;
optional string comm = 13;
optional uint64 blk_sigset_extended = 14;
optional rseq_entry rseq_entry = 15;
optional uint32 cg_set = 16;
}
message task_rlimits_entry {
repeated rlimit_entry rlimits = 1;
};
message core_entry {
enum march {
UNKNOWN = 0;
X86_64 = 1;
ARM = 2;
AARCH64 = 3;
PPC64 = 4;
S390 = 5;
MIPS = 6;
LOONGARCH64 = 7;
}
required march mtype = 1;
optional thread_info_x86 thread_info = 2;
optional thread_info_arm ti_arm = 6;
optional thread_info_aarch64 ti_aarch64 = 8;
optional thread_info_ppc64 ti_ppc64 = 9;
optional thread_info_s390 ti_s390 = 10;
optional thread_info_mips ti_mips = 11;
optional thread_info_loongarch64 ti_loongarch64 = 12;
optional task_core_entry tc = 3;
optional task_kobj_ids_entry ids = 4;
optional thread_core_entry thread_core = 5;
}