Revision 74475455 hw/vt82c686.c
b/hw/vt82c686.c | ||
---|---|---|
186 | 186 |
static uint32_t get_pmtmr(VT686PMState *s) |
187 | 187 |
{ |
188 | 188 |
uint32_t d; |
189 |
d = muldiv64(qemu_get_clock(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec()); |
|
189 |
d = muldiv64(qemu_get_clock_ns(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec());
|
|
190 | 190 |
return d & 0xffffff; |
191 | 191 |
} |
192 | 192 |
|
... | ... | |
195 | 195 |
int64_t d; |
196 | 196 |
int pmsts; |
197 | 197 |
pmsts = s->pmsts; |
198 |
d = muldiv64(qemu_get_clock(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec()); |
|
198 |
d = muldiv64(qemu_get_clock_ns(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec());
|
|
199 | 199 |
if (d >= s->tmr_overflow_time) |
200 | 200 |
s->pmsts |= TMROF_EN; |
201 | 201 |
return pmsts; |
... | ... | |
238 | 238 |
pmsts = get_pmsts(s); |
239 | 239 |
if (pmsts & val & TMROF_EN) { |
240 | 240 |
/* if TMRSTS is reset, then compute the new overflow time */ |
241 |
d = muldiv64(qemu_get_clock(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec()); |
|
241 |
d = muldiv64(qemu_get_clock_ns(vm_clock), PM_TIMER_FREQUENCY, get_ticks_per_sec());
|
|
242 | 242 |
s->tmr_overflow_time = (d + 0x800000LL) & ~0x7fffffLL; |
243 | 243 |
} |
244 | 244 |
s->pmsts &= ~val; |
... | ... | |
486 | 486 |
|
487 | 487 |
apm_init(&s->apm, NULL, s); |
488 | 488 |
|
489 |
s->tmr_timer = qemu_new_timer(vm_clock, pm_tmr_timer, s); |
|
489 |
s->tmr_timer = qemu_new_timer_ns(vm_clock, pm_tmr_timer, s);
|
|
490 | 490 |
|
491 | 491 |
pm_smbus_init(&s->dev.qdev, &s->smb); |
492 | 492 |
|
Also available in: Unified diff