RTC interrupt reinjection has no known negative effect. Lack of RTC interrupt reinjection, though, has negative effects: time drift for Windows guests which use it as a timer source.
Based on that, enable lost_tick_policy=slew option as default. Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> v2: do not change default for older machines types (Paolo Bonzini) diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c index c79fca7..c9e007d 100644 --- a/hw/mc146818rtc.c +++ b/hw/mc146818rtc.c @@ -884,7 +884,7 @@ ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq) static Property mc146818rtc_properties[] = { DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980), DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", RTCState, - lost_tick_policy, LOST_TICK_DISCARD), + lost_tick_policy, LOST_TICK_SLEW), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/pc_piix.c b/hw/pc_piix.c index 19e342a..475bb4c 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = { .driver = "usb-tablet",\ .property = "usb_version",\ .value = stringify(1),\ + },{\ + .driver = "mc146818rtc",\ + .property = "lost_tick_policy",\ + .value = "discard",\ } static QEMUMachine pc_machine_v1_3 = {