@@ -24,10 +24,26 @@
typedef struct {
SysBusDevice busdev;
bitbang_i2c_interface *bitbang;
- int out;
- int in;
+ int32_t out;
+ int32_t in;
} RealViewI2CState;
+extern VMStateDescription vmstate_bitbang_i2c;
+
+const VMStateDescription vmstate_realview_i2c = {
+ .name = "realview_i2c",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT_POINTER(bitbang, RealViewI2CState, vmstate_bitbang_i2c,
+ bitbang_i2c_interface *),
+ VMSTATE_INT32(out, RealViewI2CState),
+ VMSTATE_INT32(in, RealViewI2CState),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static uint32_t realview_i2c_read(void *opaque, target_phys_addr_t offset)
{
RealViewI2CState *s = (RealViewI2CState *)opaque;
@@ -90,6 +106,7 @@ static SysBusDeviceInfo realview_i2c_info = {
.init = realview_i2c_init,
.qdev.name = "realview_i2c",
.qdev.size = sizeof(RealViewI2CState),
+ .qdev.vmsd = &vmstate_realview_i2c,
};
static void realview_register_devices(void)
Signed-off-by: Benoit Canet <benoit.canet@gmail.com> --- hw/realview.c | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-)