Set the initial system time to a sane (as in: not end of 21st century) value when

booting on a PC with CMOS clock set to a year before 2000.

This uses 1980 (instead of 1970 as in the initial patch) as pivot year as
suggested by imp in the PR followup.

PR:		195703
Submitted by:	cs@soi.spb.ru
Reviewed by:	imp
MFC after:	1 weeks
This commit is contained in:
Christian Brueffer 2015-06-29 17:02:09 +00:00
parent d1436e9708
commit 9f026a420b

View File

@ -354,7 +354,7 @@ atrtc_gettime(device_t dev, struct timespec *ts)
#ifdef USE_RTC_CENTURY
ct.year += readrtc(RTC_CENTURY) * 100;
#else
ct.year += 2000;
ct.year += (ct.year < 80 ? 2000 : 1900);
#endif
critical_exit();
/* Set dow = -1 because some clocks don't set it correctly. */