From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37691 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PySEu-0006Mr-M7 for qemu-devel@nongnu.org; Sat, 12 Mar 2011 12:04:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PySEs-0000ur-Nb for qemu-devel@nongnu.org; Sat, 12 Mar 2011 12:04:28 -0500 Received: from mail-ww0-f53.google.com ([74.125.82.53]:52092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PySEs-0000uO-JH for qemu-devel@nongnu.org; Sat, 12 Mar 2011 12:04:26 -0500 Received: by mail-ww0-f53.google.com with SMTP id 40so4603790wwj.10 for ; Sat, 12 Mar 2011 09:04:26 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Sat, 12 Mar 2011 18:04:16 +0100 Message-Id: <1299949460-4387-2-git-send-email-pbonzini@redhat.com> In-Reply-To: <1299949460-4387-1-git-send-email-pbonzini@redhat.com> References: <1299949460-4387-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [RFC PATCH 1/5] add more helper functions with explicit milli/nanosecond resolution List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org The code doesn't make much sense right now, but it will as soon as timers will be able to scale their resolution arbitrarily. Signed-off-by: Paolo Bonzini --- qemu-timer.h | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/qemu-timer.h b/qemu-timer.h index 8cd8f83..345feea 100644 --- a/qemu-timer.h +++ b/qemu-timer.h @@ -12,6 +12,10 @@ /* timers */ +#define SCALE_MS 1000000 +#define SCALE_US 1000 +#define SCALE_NS 1 + typedef struct QEMUClock QEMUClock; typedef void QEMUTimerCB(void *opaque); @@ -54,6 +58,25 @@ void init_clocks(void); int init_timer_alarm(void); void quit_timers(void); +static inline QEMUTimer *qemu_new_timer_ns(QEMUClock *clock, QEMUTimerCB *cb, + void *opaque) +{ + assert(clock != rt_clock); + return qemu_new_timer(clock, cb, opaque); +} + +static inline QEMUTimer *qemu_new_timer_ms(QEMUClock *clock, QEMUTimerCB *cb, + void *opaque) +{ + assert(clock == rt_clock); + return qemu_new_timer(clock, cb, opaque); +} + +static inline int64_t qemu_get_clock_ms(QEMUClock *clock) +{ + return qemu_get_clock_ns(clock) / SCALE_MS; +} + static inline int64_t get_ticks_per_sec(void) { return 1000000000LL; -- 1.7.4