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:
parent
77eea83830
commit
80cd83e7b2
4
hw/hw.h
4
hw/hw.h
@ -318,6 +318,7 @@ extern const VMStateInfo vmstate_info_int16;
|
|||||||
extern const VMStateInfo vmstate_info_int32;
|
extern const VMStateInfo vmstate_info_int32;
|
||||||
extern const VMStateInfo vmstate_info_int64;
|
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_equal;
|
||||||
extern const VMStateInfo vmstate_info_int32_le;
|
extern const VMStateInfo vmstate_info_int32_le;
|
||||||
|
|
||||||
@ -461,6 +462,9 @@ extern const VMStateDescription vmstate_pci_device;
|
|||||||
#define VMSTATE_UINT64(_f, _s) \
|
#define VMSTATE_UINT64(_f, _s) \
|
||||||
VMSTATE_UINT64_V(_f, _s, 0)
|
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) \
|
#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)
|
||||||
|
|
||||||
|
20
savevm.c
20
savevm.c
@ -847,6 +847,26 @@ const VMStateInfo vmstate_info_uint64 = {
|
|||||||
.put = put_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 */
|
/* timers */
|
||||||
|
|
||||||
static int get_timer(QEMUFile *f, void *pv, size_t size)
|
static int get_timer(QEMUFile *f, void *pv, size_t size)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user