Module Name: src Committed By: isaki Date: Tue Mar 5 11:19:30 UTC 2024
Modified Files: src/sys/arch/virt68k/dev: gfrtc_mainbus.c src/sys/dev/goldfish: gfrtc.c Log Message: Fix two problems that the time runs late on virt68k. - The time between the time the alarm occurred and the time read by TIME_* register in the next interrupt handler was not accumulated. - With the one-shot timer method, once the host time prolongs, the guest time will never be able to catch up with the host time again. New one does: - The driver maintains its (guest's) time (as sc_alarm_time) and always set the next alarm sc_interval_ns after the previous alarm. - gfrtc_set_alarm() takes an absolute time instead of a relative time as the argument. PR kern/57980. Confirmed on QEMU. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/virt68k/dev/gfrtc_mainbus.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/goldfish/gfrtc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.