Commit dc2dfcf0 authored by Paolo Bonzini's avatar Paolo Bonzini

qemu-timer: more clock functions

These will be used when moving icount accounting to cpus.c.
Reviewed-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent f3fc6e2e
......@@ -495,6 +495,31 @@ void qemu_clock_warp(QEMUClock *clock)
}
}
int64_t qemu_clock_has_timers(QEMUClock *clock)
{
return !!clock->active_timers;
}
int64_t qemu_clock_expired(QEMUClock *clock)
{
return (clock->active_timers &&
clock->active_timers->expire_time < qemu_get_clock_ns(clock));
}
int64_t qemu_clock_deadline(QEMUClock *clock)
{
/* To avoid problems with overflow limit this to 2^32. */
int64_t delta = INT32_MAX;
if (clock->active_timers) {
delta = clock->active_timers->expire_time - qemu_get_clock_ns(clock);
}
if (delta < 0) {
delta = 0;
}
return delta;
}
QEMUTimer *qemu_new_timer(QEMUClock *clock, int scale,
QEMUTimerCB *cb, void *opaque)
{
......
......@@ -38,6 +38,9 @@ extern QEMUClock *vm_clock;
extern QEMUClock *host_clock;
int64_t qemu_get_clock_ns(QEMUClock *clock);
int64_t qemu_clock_has_timers(QEMUClock *clock);
int64_t qemu_clock_expired(QEMUClock *clock);
int64_t qemu_clock_deadline(QEMUClock *clock);
void qemu_clock_enable(QEMUClock *clock, int enabled);
void qemu_clock_warp(QEMUClock *clock);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment