avoid rounding problems

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@696 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2004-04-02 20:58:56 +00:00
parent e463b581ea
commit 1154e441aa
1 changed files with 4 additions and 0 deletions

View File

@ -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;
}