Revision 6ee093c9 hw/cuda.c
b/hw/cuda.c | ||
---|---|---|
171 | 171 |
unsigned int counter; |
172 | 172 |
|
173 | 173 |
d = muldiv64(qemu_get_clock(vm_clock) - s->load_time, |
174 |
CUDA_TIMER_FREQ, ticks_per_sec);
|
|
174 |
CUDA_TIMER_FREQ, get_ticks_per_sec());
|
|
175 | 175 |
if (s->index == 0) { |
176 | 176 |
/* the timer goes down from latch to -1 (period of latch + 2) */ |
177 | 177 |
if (d <= (s->counter_value + 1)) { |
... | ... | |
201 | 201 |
|
202 | 202 |
/* current counter value */ |
203 | 203 |
d = muldiv64(current_time - s->load_time, |
204 |
CUDA_TIMER_FREQ, ticks_per_sec);
|
|
204 |
CUDA_TIMER_FREQ, get_ticks_per_sec());
|
|
205 | 205 |
/* the timer goes down from latch to -1 (period of latch + 2) */ |
206 | 206 |
if (d <= (s->counter_value + 1)) { |
207 | 207 |
counter = (s->counter_value - d) & 0xffff; |
... | ... | |
220 | 220 |
} |
221 | 221 |
CUDA_DPRINTF("latch=%d counter=%" PRId64 " delta_next=%" PRId64 "\n", |
222 | 222 |
s->latch, d, next_time - d); |
223 |
next_time = muldiv64(next_time, ticks_per_sec, CUDA_TIMER_FREQ) +
|
|
223 |
next_time = muldiv64(next_time, get_ticks_per_sec(), CUDA_TIMER_FREQ) +
|
|
224 | 224 |
s->load_time; |
225 | 225 |
if (next_time <= current_time) |
226 | 226 |
next_time = current_time + 1; |
... | ... | |
505 | 505 |
} |
506 | 506 |
qemu_mod_timer(s->adb_poll_timer, |
507 | 507 |
qemu_get_clock(vm_clock) + |
508 |
(ticks_per_sec / CUDA_ADB_POLL_FREQ));
|
|
508 |
(get_ticks_per_sec() / CUDA_ADB_POLL_FREQ));
|
|
509 | 509 |
} |
510 | 510 |
|
511 | 511 |
static void cuda_receive_packet(CUDAState *s, |
... | ... | |
523 | 523 |
if (autopoll) { |
524 | 524 |
qemu_mod_timer(s->adb_poll_timer, |
525 | 525 |
qemu_get_clock(vm_clock) + |
526 |
(ticks_per_sec / CUDA_ADB_POLL_FREQ));
|
|
526 |
(get_ticks_per_sec() / CUDA_ADB_POLL_FREQ));
|
|
527 | 527 |
} else { |
528 | 528 |
qemu_del_timer(s->adb_poll_timer); |
529 | 529 |
} |
... | ... | |
534 | 534 |
break; |
535 | 535 |
case CUDA_SET_TIME: |
536 | 536 |
ti = (((uint32_t)data[1]) << 24) + (((uint32_t)data[2]) << 16) + (((uint32_t)data[3]) << 8) + data[4]; |
537 |
s->tick_offset = ti - (qemu_get_clock(vm_clock) / ticks_per_sec);
|
|
537 |
s->tick_offset = ti - (qemu_get_clock(vm_clock) / get_ticks_per_sec());
|
|
538 | 538 |
obuf[0] = CUDA_PACKET; |
539 | 539 |
obuf[1] = 0; |
540 | 540 |
obuf[2] = 0; |
541 | 541 |
cuda_send_packet_to_host(s, obuf, 3); |
542 | 542 |
break; |
543 | 543 |
case CUDA_GET_TIME: |
544 |
ti = s->tick_offset + (qemu_get_clock(vm_clock) / ticks_per_sec);
|
|
544 |
ti = s->tick_offset + (qemu_get_clock(vm_clock) / get_ticks_per_sec());
|
|
545 | 545 |
obuf[0] = CUDA_PACKET; |
546 | 546 |
obuf[1] = 0; |
547 | 547 |
obuf[2] = 0; |
Also available in: Unified diff