vmstate: add support for uint8_t equal

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Juan Quintela 2009-09-10 03:04:36 +02:00 committed by Anthony Liguori
parent 77eea83830
commit 80cd83e7b2
2 changed files with 24 additions and 0 deletions

View file

@ -318,6 +318,7 @@ extern const VMStateInfo vmstate_info_int16;
extern const VMStateInfo vmstate_info_int32;
extern const VMStateInfo vmstate_info_int64;
extern const VMStateInfo vmstate_info_uint8_equal;
extern const VMStateInfo vmstate_info_int32_equal;
extern const VMStateInfo vmstate_info_int32_le;
@ -461,6 +462,9 @@ extern const VMStateDescription vmstate_pci_device;
#define VMSTATE_UINT64(_f, _s) \
VMSTATE_UINT64_V(_f, _s, 0)
#define VMSTATE_UINT8_EQUAL(_f, _s) \
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_uint8_equal, uint8_t)
#define VMSTATE_INT32_EQUAL(_f, _s) \
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_equal, int32_t)

View file

@ -847,6 +847,26 @@ const VMStateInfo vmstate_info_uint64 = {
.put = put_uint64,
};
/* 8 bit int. See that the received value is the same than the one
in the field */
static int get_uint8_equal(QEMUFile *f, void *pv, size_t size)
{
uint8_t *v = pv;
uint8_t v2;
qemu_get_8s(f, &v2);
if (*v == v2)
return 0;
return -EINVAL;
}
const VMStateInfo vmstate_info_uint8_equal = {
.name = "int32 equal",
.get = get_uint8_equal,
.put = put_uint8,
};
/* timers */
static int get_timer(QEMUFile *f, void *pv, size_t size)