From: Juan Quintela Date: Tue, 29 Sep 2009 20:48:24 +0000 (+0200) Subject: vmstate: Add support for sending partial arrays X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6680f01c8c3b7dd87e16d51d93df3ae72c237b42;p=qemu.git vmstate: Add support for sending partial arrays This one is needed for changees happening on fdc. It allows you to send arrays of structs whose size we want to send it is another field with type uint8_t. (If you have been able to read the whole sentence without stoping for breathing, you can use it. Signed-off-by: Juan Quintela Signed-off-by: Anthony Liguori --- diff --git a/hw/hw.h b/hw/hw.h index b9ae33a127..9afe50a350 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -398,6 +398,18 @@ extern const VMStateInfo vmstate_info_buffer; + type_check_array(_type,typeof_field(_state, _field),_num) \ } +#define VMSTATE_STRUCT_ARRAY_SIZE_UINT8(_field, _state, _field__num, _version, _vmsd, _type) { \ + .name = (stringify(_field)), \ + .num_offset = offsetof(_state, _field_num) \ + + type_check(uint8_t,typeof_field(_state, _field_num)), \ + .version_id = (_version), \ + .vmsd = &(_vmsd), \ + .size = sizeof(_type), \ + .flags = VMS_STRUCT|VMS_ARRAY, \ + .offset = offsetof(_state, _field) \ + + type_check_array(_type,typeof_field(_state, _field),_num) \ +} + #define VMSTATE_STATIC_BUFFER(_field, _state, _version) { \ .name = (stringify(_field)), \ .version_id = (_version), \