]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/mc146818rtc.c
rtc: Only call rtc_set_cmos when Register B SET flag is disabled.
[mirror_qemu.git] / hw / mc146818rtc.c
index 7d84ce3d74e38edbabedba51b2c63985c599af4d..c79fca7d6839c03ebe5258b272360d6a829dbfbc 100644 (file)
@@ -570,7 +570,11 @@ static void rtc_update_time(RTCState *s)
     guest_nsec = get_guest_rtc_ns(s);
     guest_sec = guest_nsec / NSEC_PER_SEC;
     gmtime_r(&guest_sec, &ret);
-    rtc_set_cmos(s, &ret);
+
+    /* Is SET flag of Register B disabled? */
+    if ((s->cmos_data[RTC_REG_B] & REG_B_SET) == 0) {
+        rtc_set_cmos(s, &ret);
+    }
 }
 
 static int update_in_progress(RTCState *s)