[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/25] vmstate: add VMSTATE_UINT16_EQUAL[_V]
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 04/25] vmstate: add VMSTATE_UINT16_EQUAL[_V] |
Date: |
Mon, 19 Oct 2009 20:42:49 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
hw/hw.h | 7 +++++++
savevm.c | 20 ++++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/hw/hw.h b/hw/hw.h
index 5f48ef8..9a40b43 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -322,6 +322,7 @@ extern const VMStateInfo vmstate_info_int32;
extern const VMStateInfo vmstate_info_int64;
extern const VMStateInfo vmstate_info_uint8_equal;
+extern const VMStateInfo vmstate_info_uint16_equal;
extern const VMStateInfo vmstate_info_int32_equal;
extern const VMStateInfo vmstate_info_int32_le;
@@ -550,6 +551,12 @@ extern const VMStateDescription vmstate_i2c_slave;
#define VMSTATE_UINT8_EQUAL(_f, _s) \
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_uint8_equal, uint8_t)
+#define VMSTATE_UINT16_EQUAL(_f, _s) \
+ VMSTATE_SINGLE(_f, _s, 0, vmstate_info_uint16_equal, uint16_t)
+
+#define VMSTATE_UINT16_EQUAL_V(_f, _s, _v) \
+ VMSTATE_SINGLE(_f, _s, _v, vmstate_info_uint16_equal, uint16_t)
+
#define VMSTATE_INT32_EQUAL(_f, _s) \
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_equal, int32_t)
diff --git a/savevm.c b/savevm.c
index 3d91202..6a10bc7 100644
--- a/savevm.c
+++ b/savevm.c
@@ -868,6 +868,26 @@ const VMStateInfo vmstate_info_uint8_equal = {
.put = put_uint8,
};
+/* 16 bit unsigned int int. See that the received value is the same than the
one
+ in the field */
+
+static int get_uint16_equal(QEMUFile *f, void *pv, size_t size)
+{
+ uint16_t *v = pv;
+ uint16_t v2;
+ qemu_get_be16s(f, &v2);
+
+ if (*v == v2)
+ return 0;
+ return -EINVAL;
+}
+
+const VMStateInfo vmstate_info_uint16_equal = {
+ .name = "uint16 equal",
+ .get = get_uint16_equal,
+ .put = put_uint16,
+};
+
/* timers */
static int get_timer(QEMUFile *f, void *pv, size_t size)
--
1.6.2.5
- [Qemu-devel] [PATCH 00/25] VMState cleanups and conversion of network drivers, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 01/25] vmstate: Add support for partial buffers transmission, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 03/25] vnmstate: fix name for uint8_equal, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 02/25] serial: use post_load version_id field and remove pre_load function, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 04/25] vmstate: add VMSTATE_UINT16_EQUAL[_V],
Juan Quintela <=
- [Qemu-devel] [PATCH 05/25] vmstate: Rename VMS_VARRAY to VMS_VARRAY_INT32, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 06/25] vmstate: fix indentation, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 07/25] vmstate: factor vmstate_offset_value, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 08/25] vmstate: factor vmstate_offset_pointer, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 09/25] vmstate: factor vmstate_offset_array, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 10/25] vmstate: factor vmstate_offset_buffer, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 11/25] vmstate: factor VMSTATE_*BUFFER* definitions, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 12/25] vmstate: Unfold VMSTATE_INT32_VARRAY() only use and remove it, Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 13/25] vmstate: add VMS_VARRAY_UINT16_UNSAFE (varrays with uint16 indexes), Juan Quintela, 2009/10/19
- [Qemu-devel] [PATCH 15/25] vmstate: Add VMSTATE_BUFFER_UNUSED, Juan Quintela, 2009/10/19