diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2010-12-23 17:19:53 +0000 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-20 12:37:21 +0100 |
commit | b5ad0ae767b633305562150734c17bf430ccc045 (patch) | |
tree | d6a43ca553ef00ea88c77057118a31b671fc2996 /hw/arm_sysctl.c | |
parent | a796d0acbbc6f3c0355b142c0a76c547e825c2ef (diff) | |
download | qemu-b5ad0ae767b633305562150734c17bf430ccc045.zip qemu-b5ad0ae767b633305562150734c17bf430ccc045.tar.gz qemu-b5ad0ae767b633305562150734c17bf430ccc045.tar.bz2 |
arm_sysctl: Implement save/restore
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'hw/arm_sysctl.c')
-rw-r--r-- | hw/arm_sysctl.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/hw/arm_sysctl.c b/hw/arm_sysctl.c index bd0664f..d8b062c 100644 --- a/hw/arm_sysctl.c +++ b/hw/arm_sysctl.c @@ -28,6 +28,22 @@ typedef struct { uint32_t proc_id; } arm_sysctl_state; +static const VMStateDescription vmstate_arm_sysctl = { + .name = "realview_sysctl", + .version_id = 1, + .minimum_version_id = 1, + .fields = (VMStateField[]) { + VMSTATE_UINT32(leds, arm_sysctl_state), + VMSTATE_UINT16(lockval, arm_sysctl_state), + VMSTATE_UINT32(cfgdata1, arm_sysctl_state), + VMSTATE_UINT32(cfgdata2, arm_sysctl_state), + VMSTATE_UINT32(flags, arm_sysctl_state), + VMSTATE_UINT32(nvflags, arm_sysctl_state), + VMSTATE_UINT32(resetlevel, arm_sysctl_state), + VMSTATE_END_OF_LIST() + } +}; + static void arm_sysctl_reset(DeviceState *d) { arm_sysctl_state *s = FROM_SYSBUS(arm_sysctl_state, sysbus_from_qdev(d)); @@ -231,6 +247,7 @@ static SysBusDeviceInfo arm_sysctl_info = { .init = arm_sysctl_init1, .qdev.name = "realview_sysctl", .qdev.size = sizeof(arm_sysctl_state), + .qdev.vmsd = &vmstate_arm_sysctl, .qdev.reset = arm_sysctl_reset, .qdev.props = (Property[]) { DEFINE_PROP_UINT32("sys_id", arm_sysctl_state, sys_id, 0), |