* David Hildenbrand (da...@redhat.com) wrote: > We'll make use of both next in the context of virtio-mem. > > Signed-off-by: David Hildenbrand <da...@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > --- > include/migration/vmstate.h | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h > index 79eb2409a2..73ad1ae0eb 100644 > --- a/include/migration/vmstate.h > +++ b/include/migration/vmstate.h > @@ -712,8 +712,9 @@ extern const VMStateInfo vmstate_info_qlist; > * '_state' type > * That the pointer is right at the start of _tmp_type. > */ > -#define VMSTATE_WITH_TMP(_state, _tmp_type, _vmsd) { \ > +#define VMSTATE_WITH_TMP_TEST(_state, _test, _tmp_type, _vmsd) { \ > .name = "tmp", \ > + .field_exists = (_test), \ > .size = sizeof(_tmp_type) + \ > QEMU_BUILD_BUG_ON_ZERO(offsetof(_tmp_type, parent) != 0) > + \ > type_check_pointer(_state, \ > @@ -722,6 +723,9 @@ extern const VMStateInfo vmstate_info_qlist; > .info = &vmstate_info_tmp, \ > } > > +#define VMSTATE_WITH_TMP(_state, _tmp_type, _vmsd) \ > + VMSTATE_WITH_TMP_TEST(_state, NULL, _tmp_type, _vmsd) > + > #define VMSTATE_UNUSED_BUFFER(_test, _version, _size) { \ > .name = "unused", \ > .field_exists = (_test), \ > @@ -745,8 +749,9 @@ extern const VMStateInfo vmstate_info_qlist; > /* _field_size should be a int32_t field in the _state struct giving the > * size of the bitmap _field in bits. > */ > -#define VMSTATE_BITMAP(_field, _state, _version, _field_size) { \ > +#define VMSTATE_BITMAP_TEST(_field, _state, _test, _version, _field_size) { \ > .name = (stringify(_field)), \ > + .field_exists = (_test), \ > .version_id = (_version), \ > .size_offset = vmstate_offset_value(_state, _field_size, int32_t),\ > .info = &vmstate_info_bitmap, \ > @@ -754,6 +759,9 @@ extern const VMStateInfo vmstate_info_qlist; > .offset = offsetof(_state, _field), \ > } > > +#define VMSTATE_BITMAP(_field, _state, _version, _field_size) \ > + VMSTATE_BITMAP_TEST(_field, _state, NULL, _version, _field_size) > + > /* For migrating a QTAILQ. > * Target QTAILQ needs be properly initialized. > * _type: type of QTAILQ element > -- > 2.38.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK