@@ -129,15 +129,8 @@ static int ich9_pm_post_load(void *opaque, int version_id)
}
#define VMSTATE_GPE_ARRAY(_field, _state) \
- { \
- .name = (stringify(_field)), \
- .version_id = 0, \
- .num = ICH9_PMIO_GPE0_LEN, \
- .info = &vmstate_info_uint8, \
- .size = sizeof(uint8_t), \
- .flags = VMS_ARRAY | VMS_POINTER, \
- .offset = vmstate_offset_pointer(_state, _field, uint8_t), \
- }
+ VMSTATE_VARRAY(_field, _state, ICH9_PMIO_GPE0_LEN, NULL, \
+ vmstate_info_uint8, uint8)
const VMStateDescription vmstate_ich9_pm = {
.name = "ich9_pm",
@@ -230,6 +230,16 @@ extern const VMStateInfo vmstate_info_bitmap;
.offset = vmstate_offset_array(_state, _field, _type, _num),\
}
+#define VMSTATE_VARRAY(_field, _state, _num, _test, _info, _type) { \
+ .name = (stringify(_field)), \
+ .field_exists = (_test), \
+ .num = (_num), \
+ .info = &(_info), \
+ .size = sizeof(_type), \
+ .flags = VMS_ARRAY | VMS_POINTER, \
+ .offset = vmstate_offset_pointer(_state, _field, _type),\
+}
+
#define VMSTATE_SUB_ARRAY(_field, _state, _start, _num, _info, _type) { \
.name = (stringify(_field)), \
.num = (_num), \
Use it instead of hard-ecoding it on ich9 for GPE. Signed-off-by: Juan Quintela <quintela@redhat.com> --- hw/acpi/ich9.c | 11 ++--------- include/migration/vmstate.h | 10 ++++++++++ 2 files changed, 12 insertions(+), 9 deletions(-)