Revision 74475455 hw/armv7m_nvic.c

b/hw/armv7m_nvic.c
64 64
static void systick_reload(nvic_state *s, int reset)
65 65
{
66 66
    if (reset)
67
        s->systick.tick = qemu_get_clock(vm_clock);
67
        s->systick.tick = qemu_get_clock_ns(vm_clock);
68 68
    s->systick.tick += (s->systick.reload + 1) * systick_scale(s);
69 69
    qemu_mod_timer(s->systick.timer, s->systick.tick);
70 70
}
......
136 136
            int64_t t;
137 137
            if ((s->systick.control & SYSTICK_ENABLE) == 0)
138 138
                return 0;
139
            t = qemu_get_clock(vm_clock);
139
            t = qemu_get_clock_ns(vm_clock);
140 140
            if (t >= s->systick.tick)
141 141
                return 0;
142 142
            val = ((s->systick.tick - (t + 1)) / systick_scale(s)) + 1;
......
273 273
        s->systick.control &= 0xfffffff8;
274 274
        s->systick.control |= value & 7;
275 275
        if ((oldval ^ value) & SYSTICK_ENABLE) {
276
            int64_t now = qemu_get_clock(vm_clock);
276
            int64_t now = qemu_get_clock_ns(vm_clock);
277 277
            if (value & SYSTICK_ENABLE) {
278 278
                if (s->systick.tick) {
279 279
                    s->systick.tick += now;
......
396 396

  
397 397
    gic_init(&s->gic);
398 398
    cpu_register_physical_memory(0xe000e000, 0x1000, s->gic.iomemtype);
399
    s->systick.timer = qemu_new_timer(vm_clock, systick_timer_tick, s);
399
    s->systick.timer = qemu_new_timer_ns(vm_clock, systick_timer_tick, s);
400 400
    register_savevm(&dev->qdev, "armv7m_nvic", -1, 1, nvic_save, nvic_load, s);
401 401
    return 0;
402 402
}

Also available in: Unified diff