f4efd01f60
RTC state, then it may clobber the RTC index register, so the index register must be restored before using it to restore control registers in rtc_restore(). The following problems remain: - rtc_restore() is only called if pmtimer is configured. Buggy suspend/resumes are more likely to clobber the index register than a control register, so pmtimer is more needed than it used to be. - pmtimer doesn't exist for amd64. - Restoring of the RTC state may race with rtcintr(). If an RTC interrupt is handled before the state is restored, then rtcin(RTC_INTR) in rtcintr() may read from the wrong register, so rtcintr() may spin forever. This may be mitigated by the most common state clobbering being to turn off RTC interrupts. |
||
---|---|---|
.. | ||
atpic_vector.s | ||
atpic.c | ||
ccbque.h | ||
clock.c | ||
elcr.c | ||
elink.c | ||
elink.h | ||
icu.h | ||
isa_dma.c | ||
isa.c | ||
isa.h | ||
nmi.c | ||
npx.c | ||
pmtimer.c | ||
prof_machdep.c | ||
spic.c | ||
spicreg.h | ||
vesa.c |