[CRIU] [PATCH 6/6] protobuf: add criu.hex = true options to int64 fields
Pavel Emelyanov
xemul at parallels.com
Mon Jan 19 02:09:24 PST 2015
On 01/16/2015 11:55 PM, Ruslan Kuprieiev wrote:
> Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
> ---
> protobuf/core-x86.proto | 64 +++++++++++++++++++++++++------------------------
> 1 file changed, 33 insertions(+), 31 deletions(-)
>
> diff --git a/protobuf/core-x86.proto b/protobuf/core-x86.proto
> index b6eb0b3..0b1066b 100644
> --- a/protobuf/core-x86.proto
> +++ b/protobuf/core-x86.proto
> @@ -1,35 +1,37 @@
> +import "opts.proto";
> +
> message user_x86_regs_entry {
> - required uint64 r15 = 1;
> - required uint64 r14 = 2;
> - required uint64 r13 = 3;
> - required uint64 r12 = 4;
> - required uint64 bp = 5;
> - required uint64 bx = 6;
> - required uint64 r11 = 7;
> - required uint64 r10 = 8;
> - required uint64 r9 = 9;
> - required uint64 r8 = 10;
> - required uint64 ax = 11;
> - required uint64 cx = 12;
> - required uint64 dx = 13;
> - required uint64 si = 14;
> - required uint64 di = 15;
> - required uint64 orig_ax = 16;
> - required uint64 ip = 17;
> - required uint64 cs = 18;
> - required uint64 flags = 19;
> - required uint64 sp = 20;
> - required uint64 ss = 21;
> - required uint64 fs_base = 22;
> - required uint64 gs_base = 23;
> - required uint64 ds = 24;
> - required uint64 es = 25;
> - required uint64 fs = 26;
> - required uint64 gs = 27;
> + required uint64 r15 = 1[(criu).hex = true];
> + required uint64 r14 = 2[(criu).hex = true];
> + required uint64 r13 = 3[(criu).hex = true];
> + required uint64 r12 = 4[(criu).hex = true];
> + required uint64 bp = 5[(criu).hex = true];
> + required uint64 bx = 6[(criu).hex = true];
> + required uint64 r11 = 7[(criu).hex = true];
> + required uint64 r10 = 8[(criu).hex = true];
> + required uint64 r9 = 9[(criu).hex = true];
> + required uint64 r8 = 10[(criu).hex = true];
> + required uint64 ax = 11[(criu).hex = true];
> + required uint64 cx = 12[(criu).hex = true];
> + required uint64 dx = 13[(criu).hex = true];
> + required uint64 si = 14[(criu).hex = true];
> + required uint64 di = 15[(criu).hex = true];
> + required uint64 orig_ax = 16[(criu).hex = true];
> + required uint64 ip = 17[(criu).hex = true];
> + required uint64 cs = 18[(criu).hex = true];
> + required uint64 flags = 19[(criu).hex = true];
> + required uint64 sp = 20[(criu).hex = true];
> + required uint64 ss = 21[(criu).hex = true];
> + required uint64 fs_base = 22[(criu).hex = true];
> + required uint64 gs_base = 23[(criu).hex = true];
> + required uint64 ds = 24[(criu).hex = true];
> + required uint64 es = 25[(criu).hex = true];
> + required uint64 fs = 26[(criu).hex = true];
> + required uint64 gs = 27[(criu).hex = true];
I'm not quite happy with marking all 27 fields with this. Can we
teach crit to "inherit" this option? Like this -- this object, the
user_x86_regs_entry, is referenced by thread_info_x86's gpregs field.
So let's mark the "gpregs" field with [(criu).hex = true] and make
crit apply this option to the whole "submessage" pointed by it.
Can we?
More information about the CRIU
mailing list