diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-11-17 10:28:14 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-11-19 10:02:13 +0100 |
commit | 7a3e29b12f5afe0106a5713bb4db6e23dc66ef91 (patch) | |
tree | ac5e365b8aa9d01c6d07b5537aaf2d20167a835e /disas/sh4.c | |
parent | 3ae32adff17226bc6a5f3fd7bb9804e6779e0660 (diff) |
mc146818rtc: fix timer interrupt reinjection again
Commit 369b41359af46bded5799c9ef8be2b641d92e043 broke timer interrupt
reinjection when there is no period change by the guest. In that
case, old_period is 0, which ends up zeroing irq_coalesced (counter of
reinjected interrupts).
The consequence is Windows 7 is unable to synchronize time via NTP.
Easily reproducible by playing a fullscreen video with cirrus and VNC.
Fix by passing s->period when periodic_timer_update is called due to
expiration of the timer. With this change, old_period == 0 only
means that the periodic timer was off.
Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
Co-developed-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'disas/sh4.c')
0 files changed, 0 insertions, 0 deletions