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