[CRIU] [PATCH 6/6] protobuf: add criu.hex = true options to int64 fields
Ruslan Kuprieiev
kupruser at gmail.com
Mon Jan 19 03:34:21 PST 2015
On 01/19/2015 12:50 PM, Ruslan Kuprieiev wrote:
>
> On 01/19/2015 12:47 PM, Pavel Emelyanov wrote:
>> On 01/19/2015 01:32 PM, Ruslan Kuprieiev wrote:
>>> On 01/19/2015 12:09 PM, Pavel Emelyanov wrote:
>>>> 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?
>>>>
>>> Yes, we can. But how many of those "all hex" messages do we have?
>> Let's see... sa_entry, regs_entry-s (for all archs), ... I think
>> it's all.
>>
>>> I'm afraid that marking messages as hex might be confusing in both
>>> .proto files and CRIT source.
>> Why in CRIT sources? No, only in .proto files. CRIT should just we
>> taught to "remember" the criu.hex option into submessages.
>>
>> Thanks,
>> Pavel
>>
>
> Ok, could you drop this particular one, please, and consider the other
> patches from this set?
> I will send an incremental one separately to support "all hex" messages.
>
>
Done. Please, see [PATCH 0/2] crit: add support for 'all hex' messages .
More information about the CRIU
mailing list