summaryrefslogtreecommitdiffstats
path: root/savevm.c
diff options
context:
space:
mode:
authorAnthony Liguori2011-10-24 17:51:12 +0200
committerAnthony Liguori2011-10-24 17:51:12 +0200
commit952e849c150b4f1b89f8728cba00f925c1d6e75b (patch)
tree93e950b81e84d1d20a915d8b1da5c75d3911f553 /savevm.c
parentAdd stdio char device on windows (diff)
parentsimplify main loop functions (diff)
downloadqemu-952e849c150b4f1b89f8728cba00f925c1d6e75b.tar.gz
qemu-952e849c150b4f1b89f8728cba00f925c1d6e75b.tar.xz
qemu-952e849c150b4f1b89f8728cba00f925c1d6e75b.zip
Merge remote-tracking branch 'bonzini/split-main-loop-for-anthony' into staging
Diffstat (limited to 'savevm.c')
-rw-r--r--savevm.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/savevm.c b/savevm.c
index cf79a56871..f01838fb2d 100644
--- a/savevm.c
+++ b/savevm.c
@@ -81,6 +81,7 @@
#include "migration.h"
#include "qemu_socket.h"
#include "qemu-queue.h"
+#include "qemu-timer.h"
#include "cpus.h"
#define SELF_ANNOUNCE_ROUNDS 5
@@ -712,6 +713,30 @@ uint64_t qemu_get_be64(QEMUFile *f)
return v;
}
+
+/* timer */
+
+void qemu_put_timer(QEMUFile *f, QEMUTimer *ts)
+{
+ uint64_t expire_time;
+
+ expire_time = qemu_timer_expire_time_ns(ts);
+ qemu_put_be64(f, expire_time);
+}
+
+void qemu_get_timer(QEMUFile *f, QEMUTimer *ts)
+{
+ uint64_t expire_time;
+
+ expire_time = qemu_get_be64(f);
+ if (expire_time != -1) {
+ qemu_mod_timer_ns(ts, expire_time);
+ } else {
+ qemu_del_timer(ts);
+ }
+}
+
+
/* bool */
static int get_bool(QEMUFile *f, void *pv, size_t size)