qemu-patch-raspberry4/hw/rtc
Paolo Bonzini 7a3e29b12f mc146818rtc: fix timer interrupt reinjection again
Commit 369b41359a 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>
2019-11-19 10:02:13 +01:00
..
aspeed_rtc.c
ds1338.c
exynos4210_rtc.c
Kconfig
m41t80.c
m48t59-internal.h
m48t59-isa.c
m48t59.c
Makefile.objs
mc146818rtc.c mc146818rtc: fix timer interrupt reinjection again 2019-11-19 10:02:13 +01:00
pl031.c
sun4v-rtc.c
trace-events
twl92230.c
xlnx-zynqmp-rtc.c