mirror of https://github.com/xqemu/xqemu.git
omap: switch omap_lpg to vm_clock
The output of the pulse generator needs to be deterministic when running in -icount mode, and to remain constant whenever the VM is stopped. So the right clock to use is vm_clock. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
788081417a
commit
e230d4e8bd
|
@ -3497,9 +3497,9 @@ static void omap_lpg_tick(void *opaque)
|
||||||
struct omap_lpg_s *s = opaque;
|
struct omap_lpg_s *s = opaque;
|
||||||
|
|
||||||
if (s->cycle)
|
if (s->cycle)
|
||||||
qemu_mod_timer(s->tm, qemu_get_clock_ms(rt_clock) + s->period - s->on);
|
qemu_mod_timer(s->tm, qemu_get_clock_ms(vm_clock) + s->period - s->on);
|
||||||
else
|
else
|
||||||
qemu_mod_timer(s->tm, qemu_get_clock_ms(rt_clock) + s->on);
|
qemu_mod_timer(s->tm, qemu_get_clock_ms(vm_clock) + s->on);
|
||||||
|
|
||||||
s->cycle = !s->cycle;
|
s->cycle = !s->cycle;
|
||||||
printf("%s: LED is %s\n", __FUNCTION__, s->cycle ? "on" : "off");
|
printf("%s: LED is %s\n", __FUNCTION__, s->cycle ? "on" : "off");
|
||||||
|
@ -3617,7 +3617,7 @@ static struct omap_lpg_s *omap_lpg_init(MemoryRegion *system_memory,
|
||||||
struct omap_lpg_s *s = (struct omap_lpg_s *)
|
struct omap_lpg_s *s = (struct omap_lpg_s *)
|
||||||
g_malloc0(sizeof(struct omap_lpg_s));
|
g_malloc0(sizeof(struct omap_lpg_s));
|
||||||
|
|
||||||
s->tm = qemu_new_timer_ms(rt_clock, omap_lpg_tick, s);
|
s->tm = qemu_new_timer_ms(vm_clock, omap_lpg_tick, s);
|
||||||
|
|
||||||
omap_lpg_reset(s);
|
omap_lpg_reset(s);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue