vmstate: add VMSTATE_UINT32_EQUAL
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
23bfe28fff
commit
9122a8fed7
4
hw/hw.h
4
hw/hw.h
@ -343,6 +343,7 @@ extern const VMStateInfo vmstate_info_int64;
|
|||||||
extern const VMStateInfo vmstate_info_uint8_equal;
|
extern const VMStateInfo vmstate_info_uint8_equal;
|
||||||
extern const VMStateInfo vmstate_info_uint16_equal;
|
extern const VMStateInfo vmstate_info_uint16_equal;
|
||||||
extern const VMStateInfo vmstate_info_int32_equal;
|
extern const VMStateInfo vmstate_info_int32_equal;
|
||||||
|
extern const VMStateInfo vmstate_info_uint32_equal;
|
||||||
extern const VMStateInfo vmstate_info_int32_le;
|
extern const VMStateInfo vmstate_info_int32_le;
|
||||||
|
|
||||||
extern const VMStateInfo vmstate_info_uint8;
|
extern const VMStateInfo vmstate_info_uint8;
|
||||||
@ -704,6 +705,9 @@ extern const VMStateDescription vmstate_usb_device;
|
|||||||
#define VMSTATE_INT32_EQUAL(_f, _s) \
|
#define VMSTATE_INT32_EQUAL(_f, _s) \
|
||||||
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_equal, int32_t)
|
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_equal, int32_t)
|
||||||
|
|
||||||
|
#define VMSTATE_UINT32_EQUAL(_f, _s) \
|
||||||
|
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_uint32_equal, uint32_t)
|
||||||
|
|
||||||
#define VMSTATE_INT32_LE(_f, _s) \
|
#define VMSTATE_INT32_LE(_f, _s) \
|
||||||
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)
|
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)
|
||||||
|
|
||||||
|
21
savevm.c
21
savevm.c
@ -882,6 +882,27 @@ const VMStateInfo vmstate_info_uint32 = {
|
|||||||
.put = put_uint32,
|
.put = put_uint32,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* 32 bit uint. See that the received value is the same than the one
|
||||||
|
in the field */
|
||||||
|
|
||||||
|
static int get_uint32_equal(QEMUFile *f, void *pv, size_t size)
|
||||||
|
{
|
||||||
|
uint32_t *v = pv;
|
||||||
|
uint32_t v2;
|
||||||
|
qemu_get_be32s(f, &v2);
|
||||||
|
|
||||||
|
if (*v == v2) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
const VMStateInfo vmstate_info_uint32_equal = {
|
||||||
|
.name = "uint32 equal",
|
||||||
|
.get = get_uint32_equal,
|
||||||
|
.put = put_uint32,
|
||||||
|
};
|
||||||
|
|
||||||
/* 64 bit unsigned int */
|
/* 64 bit unsigned int */
|
||||||
|
|
||||||
static int get_uint64(QEMUFile *f, void *pv, size_t size)
|
static int get_uint64(QEMUFile *f, void *pv, size_t size)
|
||||||
|
Loading…
Reference in New Issue
Block a user