]> xenbits.xensource.com Git - qemu-xen-4.0-testing.git/commitdiff
Fix Qemu division by zero triggered by NetBSD
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 17 May 2007 19:32:20 +0000 (19:32 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 17 May 2007 19:32:20 +0000 (19:32 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2825 c046a42c-6fe2-441c-8c8c-71466251a162

hw/slavio_timer.c

index acf94f3d53ac97d2c8a06594d59776eece0b1a36..91148583a08135234172de5d88f50ebcc9885353 100644 (file)
@@ -80,13 +80,11 @@ static void slavio_timer_get_out(SLAVIO_TIMERState *s)
     out = (ticks > s->expire_time);
     if (out)
        s->reached = 0x80000000;
-    if (!s->limit)
-       limit = 0x7fffffff;
-    else
-       limit = s->limit;
-
     // Convert register units to counter ticks
-    limit = limit >> 9;
+    limit = s->limit >> 9;
+
+    if (!limit)
+       limit = 0x7fffffff >> 9;
 
     // Convert cpu ticks to counter ticks
     diff = muldiv64(ticks - s->count_load_time, CNT_FREQ, ticks_per_sec);