sparc32: fix count calculation when limit = 0
PATCH 1/1 sparc32: fix count calculation when limit = 0
Fix count calculation when counter limit set to 0.
slavio_timer.c +7 -2
@@ -97,9 +97,14 @@ static int slavio_timer_is_user(SLAVIO_T// Convert from ptimer countdown units static void slavio_timer_get_out (SLAVIO_TIMERState *s) { -uint64_t count; +uint64_t count, limit; - count = s->limit -PERIODS_TO_LIMIT (ptimer_get_count (s->timer)); +if (s->limit ==0 )/* free-run processor or system counter */ + limit =TIMER_MAX_COUNT32 ; +else + limit = s->limit; + + count = limit -PERIODS_TO_LIMIT (ptimer_get_count (s->timer));DPRINTF ("get_out: limit %" PRIx64" count %x%08x\n" , s->limit, s->counthigh, s->count); s->count = count &TIMER_COUNT_MASK32 ;