From: bellard Date: Fri, 2 Apr 2004 20:58:56 +0000 (+0000) Subject: avoid rounding problems X-Git-Tag: release_0_9_0-iwjtag~1699 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1154e441aa19ce3bf15fb0cabab2a5656321b43f;p=qemu-xen-4.4-testing.git avoid rounding problems git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@696 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/i8254.c b/hw/i8254.c index 20cca0ef8..ad61a14af 100644 --- a/hw/i8254.c +++ b/hw/i8254.c @@ -136,6 +136,10 @@ static int64_t pit_get_next_transition_time(PITChannelState *s, } /* convert to timer units */ next_time = s->count_load_time + muldiv64(next_time, ticks_per_sec, PIT_FREQ); + /* fix potential rounding problems */ + /* XXX: better solution: use a clock at PIT_FREQ Hz */ + if (next_time <= current_time) + next_time = current_time + 1; return next_time; }