aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2009-08-31 19:30:15 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-08-31 19:30:15 +0000
commit55a6e51f2a78536d605a6a00dfbec34227b2dd32 (patch)
tree7534a657aee92fe8ee802394faf4ff6757b258e2 /hw
parent4e2a68c1e1b296bca8a60b480ac935527cd87953 (diff)
Add VMState support for ptimers
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/hw.h7
-rw-r--r--hw/ptimer.c21
2 files changed, 28 insertions, 0 deletions
diff --git a/hw/hw.h b/hw/hw.h
index f3cc98171a..0ae4000f20 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -324,6 +324,7 @@ extern const VMStateInfo vmstate_info_uint32;
extern const VMStateInfo vmstate_info_uint64;
extern const VMStateInfo vmstate_info_timer;
+extern const VMStateInfo vmstate_info_ptimer;
extern const VMStateInfo vmstate_info_buffer;
#define type_check_array(t1,t2,n) ((t1(*)[n])0 - (t2*)0)
@@ -470,6 +471,12 @@ extern const VMStateDescription vmstate_pci_device;
#define VMSTATE_TIMER(_f, _s) \
VMSTATE_TIMER_V(_f, _s, 0)
+#define VMSTATE_PTIMER_V(_f, _s, _v) \
+ VMSTATE_POINTER(_f, _s, _v, vmstate_info_ptimer, ptimer_state *)
+
+#define VMSTATE_PTIMER(_f, _s) \
+ VMSTATE_PTIMER_V(_f, _s, 0)
+
#define VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v) \
VMSTATE_ARRAY(_f, _s, _n, _v, vmstate_info_uint32, uint32_t)
diff --git a/hw/ptimer.c b/hw/ptimer.c
index f1994bd2b1..a4343b67c6 100644
--- a/hw/ptimer.c
+++ b/hw/ptimer.c
@@ -212,6 +212,27 @@ void qemu_get_ptimer(QEMUFile *f, ptimer_state *s)
qemu_get_timer(f, s->timer);
}
+static int get_ptimer(QEMUFile *f, void *pv, size_t size)
+{
+ ptimer_state *v = pv;
+
+ qemu_get_ptimer(f, v);
+ return 0;
+}
+
+static void put_ptimer(QEMUFile *f, const void *pv, size_t size)
+{
+ ptimer_state *v = (void *)pv;
+
+ qemu_put_ptimer(f, v);
+}
+
+const VMStateInfo vmstate_info_ptimer = {
+ .name = "ptimer",
+ .get = get_ptimer,
+ .put = put_ptimer,
+};
+
ptimer_state *ptimer_init(QEMUBH *bh)
{
ptimer_state *s;