From 113d05a62c1aa4e0c014a54ebcc9cefbc005ee28 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Wed, 7 Oct 2009 17:59:31 +0200 Subject: [PATCH] vmstate: add VMSTATE_BUFFER_TEST Signed-off-by: Juan Quintela Signed-off-by: Anthony Liguori --- hw/hw.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hw/hw.h b/hw/hw.h index 8c223f8..c379000 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -464,6 +464,15 @@ extern const VMStateInfo vmstate_info_buffer; + type_check_array(uint8_t,typeof_field(_state, _field),sizeof(typeof_field(_state,_field))) \ } +#define VMSTATE_STATIC_BUFFER_TEST(_field, _state, _test) { \ + .name = (stringify(_field)), \ + .field_exists = (_test), \ + .size = sizeof(typeof_field(_state,_field)), \ + .info = &vmstate_info_buffer, \ + .flags = VMS_BUFFER, \ + .offset = offsetof(_state, _field) \ + + type_check_array(uint8_t,typeof_field(_state, _field),sizeof(typeof_field(_state,_field))) \ +} #define VMSTATE_BUFFER_START_MIDDLE(_field, _state, start) { \ .name = (stringify(_field)), \ .size = sizeof(typeof_field(_state,_field)) - start, \ @@ -613,6 +622,9 @@ extern const VMStateDescription vmstate_i2c_slave; #define VMSTATE_BUFFER(_f, _s) \ VMSTATE_STATIC_BUFFER(_f, _s, 0) +#define VMSTATE_BUFFER_TEST(_f, _s, _t) \ + VMSTATE_STATIC_BUFFER_TEST(_f, _s, _t) + #ifdef NEED_CPU_H #if TARGET_LONG_BITS == 64 #define VMSTATE_UINTTL_V(_f, _s, _v) \ -- 2.7.4