mirror of https://gitee.com/openkylin/qemu.git
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_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)
|
||||
|
||||
|
|
20
savevm.c
20
savevm.c
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue