Patchwork [PATCH/RFC] vmstate: add VMSTATE_ macro for pointer to array of structures

login
register
mail settings
Submitter Dmitry Eremin-Solenikov
Date Jan. 22, 2011, 7:52 a.m.
Message ID <1295682720-13600-1-git-send-email-dbaryshkov@gmail.com>
Download mbox | patch
Permalink /patch/79978/
State New
Headers show

Comments

Dmitry Eremin-Solenikov - Jan. 22, 2011, 7:52 a.m.
While working on cleaning up pxa2xx_timer, I stumbled upon storing
array of structures, which is referenced via a pointer. Thus I had to
add this macro.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
 hw/hw.h |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/hw.h b/hw/hw.h
index 163a683..acdeb6a 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -456,6 +456,16 @@  extern const VMStateInfo vmstate_info_unused_buffer;
     .offset       = vmstate_offset_value(_state, _field, _type),     \
 }
 
+#define VMSTATE_STRUCT_POINTER_ARRAY_TEST(_field, _state, _num, _test, _vmsd, _type) { \
+    .name         = (stringify(_field)),                             \
+    .field_exists = (_test),                                         \
+    .num          = (_num),                                          \
+    .vmsd         = &(_vmsd),                                        \
+    .size         = sizeof(_type),                                   \
+    .flags        = VMS_STRUCT|VMS_POINTER|VMS_ARRAY,                \
+    .offset       = vmstate_offset_pointer(_state, _field, _type),     \
+}
+
 #define VMSTATE_STRUCT_POINTER_TEST(_field, _state, _test, _vmsd, _type) { \
     .name         = (stringify(_field)),                             \
     .field_exists = (_test),                                         \