Message ID | 1427779727-13353-3-git-send-email-aik@ozlabs.ru |
---|---|
State | New |
Headers | show |
On Tue, Mar 31, 2015 at 04:28:37PM +1100, Alexey Kardashevskiy wrote: > This allows dynamic allocation for migrating arrays. This commit message really needs more information for the benefit of people who haven't been buried in the savevm code recently. What existing VMSTATE macros does it extend? How do its semantics differ from them? What is this useful for that the existing macros are not? > Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> > --- > include/migration/vmstate.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h > index bc7616a..73b9d67 100644 > --- a/include/migration/vmstate.h > +++ b/include/migration/vmstate.h > @@ -299,6 +299,16 @@ extern const VMStateInfo vmstate_info_bitmap; > .offset = vmstate_offset_pointer(_state, _field, _type), \ > } > > +#define VMSTATE_VARRAY_UINT32_ALLOC(_field, _state, _field_num, _version, _info, _type) {\ > + .name = (stringify(_field)), \ > + .version_id = (_version), \ > + .num_offset = vmstate_offset_value(_state, _field_num, uint32_t),\ > + .info = &(_info), \ > + .size = sizeof(_type), \ > + .flags = VMS_VARRAY_UINT32|VMS_POINTER|VMS_ALLOC, \ > + .offset = vmstate_offset_pointer(_state, _field, _type), \ > +} > + > #define VMSTATE_VARRAY_UINT16_UNSAFE(_field, _state, _field_num, _version, _info, _type) {\ > .name = (stringify(_field)), \ > .version_id = (_version), \
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index bc7616a..73b9d67 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -299,6 +299,16 @@ extern const VMStateInfo vmstate_info_bitmap; .offset = vmstate_offset_pointer(_state, _field, _type), \ } +#define VMSTATE_VARRAY_UINT32_ALLOC(_field, _state, _field_num, _version, _info, _type) {\ + .name = (stringify(_field)), \ + .version_id = (_version), \ + .num_offset = vmstate_offset_value(_state, _field_num, uint32_t),\ + .info = &(_info), \ + .size = sizeof(_type), \ + .flags = VMS_VARRAY_UINT32|VMS_POINTER|VMS_ALLOC, \ + .offset = vmstate_offset_pointer(_state, _field, _type), \ +} + #define VMSTATE_VARRAY_UINT16_UNSAFE(_field, _state, _field_num, _version, _info, _type) {\ .name = (stringify(_field)), \ .version_id = (_version), \
This allows dynamic allocation for migrating arrays. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- include/migration/vmstate.h | 10 ++++++++++ 1 file changed, 10 insertions(+)