aboutsummaryrefslogtreecommitdiffstats
path: root/qemu-timer.h
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2010-05-10 23:50:54 -0700
committerDavid 'Digit' Turner <digit@android.com>2010-05-11 18:01:32 -0700
commita7fb77d6eca56e61e94f62e7deb4120b60b1e919 (patch)
tree94f818fc4c89a5b5a361e3c78b9c308ccfb94064 /qemu-timer.h
parentfd3b1a0e32964436a5259e073857e0c4e2110122 (diff)
downloadexternal_qemu-a7fb77d6eca56e61e94f62e7deb4120b60b1e919.zip
external_qemu-a7fb77d6eca56e61e94f62e7deb4120b60b1e919.tar.gz
external_qemu-a7fb77d6eca56e61e94f62e7deb4120b60b1e919.tar.bz2
Upstream: integrate timer/clock management changes.
Change-Id: I24acbdebe58d207352548f54dda1abf5be01e7d4
Diffstat (limited to 'qemu-timer.h')
-rw-r--r--qemu-timer.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/qemu-timer.h b/qemu-timer.h
index 8264f3e..c17b4e6 100644
--- a/qemu-timer.h
+++ b/qemu-timer.h
@@ -1,8 +1,6 @@
#ifndef QEMU_TIMER_H
#define QEMU_TIMER_H
-#include "qemu-common.h"
-
/* timers */
typedef struct QEMUClock QEMUClock;
@@ -19,15 +17,27 @@ extern QEMUClock *rt_clock;
precision clock, usually cpu cycles (use ticks_per_sec). */
extern QEMUClock *vm_clock;
+/* The host clock should be use for device models that emulate accurate
+ real time sources. It will continue to run when the virtual machine
+ is suspended, and it will reflect system time changes the host may
+ undergo (e.g. due to NTP). The host clock has the same precision as
+ the virtual clock. */
+extern QEMUClock *host_clock;
+
int64_t qemu_get_clock(QEMUClock *clock);
+int64_t qemu_get_clock_ns(QEMUClock *clock);
QEMUTimer *qemu_new_timer(QEMUClock *clock, QEMUTimerCB *cb, void *opaque);
void qemu_free_timer(QEMUTimer *ts);
void qemu_del_timer(QEMUTimer *ts);
void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time);
int qemu_timer_pending(QEMUTimer *ts);
+int qemu_timer_expired(QEMUTimer *timer_head, int64_t current_time);
-extern int64_t ticks_per_sec;
+static inline int64_t get_ticks_per_sec(void)
+{
+ return 1000000000LL;
+}
void qemu_get_timer(QEMUFile *f, QEMUTimer *ts);
void qemu_put_timer(QEMUFile *f, QEMUTimer *ts);