Revision 74475455 hw/omap_gptimer.c
b/hw/omap_gptimer.c | ||
---|---|---|
102 | 102 |
uint64_t distance; |
103 | 103 |
|
104 | 104 |
if (timer->st && timer->rate) { |
105 |
distance = qemu_get_clock(vm_clock) - timer->time; |
|
105 |
distance = qemu_get_clock_ns(vm_clock) - timer->time;
|
|
106 | 106 |
distance = muldiv64(distance, timer->rate, timer->ticks_per_sec); |
107 | 107 |
|
108 | 108 |
if (distance >= 0xffffffff - timer->val) |
... | ... | |
117 | 117 |
{ |
118 | 118 |
if (timer->st) { |
119 | 119 |
timer->val = omap_gp_timer_read(timer); |
120 |
timer->time = qemu_get_clock(vm_clock); |
|
120 |
timer->time = qemu_get_clock_ns(vm_clock);
|
|
121 | 121 |
} |
122 | 122 |
} |
123 | 123 |
|
... | ... | |
163 | 163 |
timer->val = 0; |
164 | 164 |
} else { |
165 | 165 |
timer->val = timer->load_val; |
166 |
timer->time = qemu_get_clock(vm_clock); |
|
166 |
timer->time = qemu_get_clock_ns(vm_clock);
|
|
167 | 167 |
} |
168 | 168 |
|
169 | 169 |
if (timer->trigger == gpt_trigger_overflow || |
... | ... | |
411 | 411 |
break; |
412 | 412 |
|
413 | 413 |
case 0x28: /* TCRR */ |
414 |
s->time = qemu_get_clock(vm_clock); |
|
414 |
s->time = qemu_get_clock_ns(vm_clock);
|
|
415 | 415 |
s->val = value; |
416 | 416 |
omap_gp_timer_update(s); |
417 | 417 |
break; |
... | ... | |
421 | 421 |
break; |
422 | 422 |
|
423 | 423 |
case 0x30: /* TTGR */ |
424 |
s->time = qemu_get_clock(vm_clock); |
|
424 |
s->time = qemu_get_clock_ns(vm_clock);
|
|
425 | 425 |
s->val = s->load_val; |
426 | 426 |
omap_gp_timer_update(s); |
427 | 427 |
break; |
... | ... | |
470 | 470 |
s->ta = ta; |
471 | 471 |
s->irq = irq; |
472 | 472 |
s->clk = fclk; |
473 |
s->timer = qemu_new_timer(vm_clock, omap_gp_timer_tick, s); |
|
474 |
s->match = qemu_new_timer(vm_clock, omap_gp_timer_match, s); |
|
473 |
s->timer = qemu_new_timer_ns(vm_clock, omap_gp_timer_tick, s);
|
|
474 |
s->match = qemu_new_timer_ns(vm_clock, omap_gp_timer_match, s);
|
|
475 | 475 |
s->in = qemu_allocate_irqs(omap_gp_timer_input, s, 1)[0]; |
476 | 476 |
omap_gp_timer_reset(s); |
477 | 477 |
omap_gp_timer_clk_setup(s); |
Also available in: Unified diff