Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/virt68k/dev/gfrtc_mainbus.c
RevisionDateAuthorComments
 1.3  05-Mar-2024  isaki 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.
 1.2  12-Jan-2024  mlelstv The interrupt handler needs to clear the interrupt condition
before re-arming the timer. Otherwise the timer could expire
again before clearing the interrupt, the interrupt gets lost
and the clock stops.

On real hardware that could only occur if the timer interval
is extremely short or if there is a higher-than-clock interrupt
that delays processing. In the emulated world however, time
can progress non-continously and this happens often under load.
 1.1  02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.

RSS XML Feed