Patchwork [14/25] vmstate: Add version arg to VMSTATE_SINGLE_TEST()

login
register
mail settings
Submitter Juan Quintela
Date Oct. 19, 2009, 6:42 p.m.
Message ID <acce389048bdbc213ee4bb4fdbaa10f2a948dec2.1255976538.git.quintela@redhat.com>
Download mbox | patch
Permalink /patch/36407/
State New
Headers show

Comments

Juan Quintela - Oct. 19, 2009, 6:42 p.m.
This allows to define VMSTATE_SINGLE with VMSTATE_SINGLE_TEST

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/hw.h               |   17 ++++++-----------
 target-i386/machine.c |    2 +-
 2 files changed, 7 insertions(+), 12 deletions(-)

Patch

diff --git a/hw/hw.h b/hw/hw.h
index eb199fb..3feb9df 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -355,17 +355,9 @@  extern const VMStateInfo vmstate_info_buffer;
     vmstate_offset_array(_state, _field, uint8_t,                    \
                          sizeof(typeof_field(_state, _field)))

-#define VMSTATE_SINGLE(_field, _state, _version, _info, _type) {     \
-    .name       = (stringify(_field)),                               \
-    .version_id = (_version),                                        \
-    .size       = sizeof(_type),                                     \
-    .info       = &(_info),                                          \
-    .flags      = VMS_SINGLE,                                        \
-    .offset     = vmstate_offset_value(_state, _field, _type),       \
-}
-
-#define VMSTATE_SINGLE_TEST(_field, _state, _test, _info, _type) {   \
+#define VMSTATE_SINGLE_TEST(_field, _state, _test, _version, _info, _type) { \
     .name         = (stringify(_field)),                             \
+    .version_id   = (_version),                                      \
     .field_exists = (_test),                                         \
     .size         = sizeof(_type),                                   \
     .info         = &(_info),                                        \
@@ -505,6 +497,9 @@  extern const VMStateDescription vmstate_i2c_slave;
    _v : version
 */

+#define VMSTATE_SINGLE(_field, _state, _version, _info, _type)        \
+    VMSTATE_SINGLE_TEST(_field, _state, NULL, _version, _info, _type)
+
 #define VMSTATE_INT8_V(_f, _s, _v)                                    \
     VMSTATE_SINGLE(_f, _s, _v, vmstate_info_int8, int8_t)
 #define VMSTATE_INT16_V(_f, _s, _v)                                   \
@@ -557,7 +552,7 @@  extern const VMStateDescription vmstate_i2c_slave;
     VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)

 #define VMSTATE_UINT32_TEST(_f, _s, _t)                                  \
-    VMSTATE_SINGLE_TEST(_f, _s, _t, vmstate_info_uint32, uint32_t)
+    VMSTATE_SINGLE_TEST(_f, _s, _t, 0, vmstate_info_uint32, uint32_t)

 #define VMSTATE_TIMER_V(_f, _s, _v)                                   \
     VMSTATE_POINTER(_f, _s, _v, vmstate_info_timer, QEMUTimer *)
diff --git a/target-i386/machine.c b/target-i386/machine.c
index 26d012d..869c681 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -314,7 +314,7 @@  static const VMStateInfo vmstate_hack_uint64_as_uint32 = {
 };

 #define VMSTATE_HACK_UINT32(_f, _s, _t)                                  \
-    VMSTATE_SINGLE_TEST(_f, _s, _t, vmstate_hack_uint64_as_uint32, uint64_t)
+    VMSTATE_SINGLE_TEST(_f, _s, _t, 0, vmstate_hack_uint64_as_uint32, uint64_t)
 #endif

 static void cpu_pre_save(void *opaque)