diff --git a/hw/hw.h b/hw/hw.h index c3790001b3b2c07635f3ed112c5a817b4a866651..0fda06aee3596f6a3b3e9d425a57faf4d98e6cb8 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -473,6 +473,16 @@ extern const VMStateInfo vmstate_info_buffer; .offset = offsetof(_state, _field) \ + type_check_array(uint8_t,typeof_field(_state, _field),sizeof(typeof_field(_state,_field))) \ } + +#define VMSTATE_PARTIAL_BUFFER(_field, _state, _size) { \ + .name = (stringify(_field)), \ + .size = (_size), \ + .info = &vmstate_info_buffer, \ + .flags = VMS_BUFFER, \ + .offset = offsetof(_state, _field) \ + + type_check_array(uint8_t,typeof_field(_state, _field),sizeof(typeof_field(_state,_field))) \ +} + #define VMSTATE_BUFFER_START_MIDDLE(_field, _state, start) { \ .name = (stringify(_field)), \ .size = sizeof(typeof_field(_state,_field)) - start, \