Avoid changing the IRQ level to high on reset as it may trigger spurious events. Instead, open-code the effects of pit_load_count(0) in the reset handler. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> --- hw/i8254.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/hw/i8254.c b/hw/i8254.c index add1fab..d4a08d7 100644 --- a/hw/i8254.c +++ b/hw/i8254.c @@ -481,7 +481,13 @@ static void pit_reset(DeviceState *dev) s = &pit->channels[i]; s->mode = 3; s->gate = (i != 2); - pit_load_count(s, 0); + s->count_load_time = qemu_get_clock_ns(vm_clock); + s->count = 0x10000; + if (i == 0) { + s->next_transition_time = + pit_get_next_transition_time(s, s->count_load_time); + qemu_mod_timer(s->irq_timer, s->next_transition_time); + } } } -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html