summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrueffer <brueffer@FreeBSD.org>2015-07-13 11:58:08 +0000
committerbrueffer <brueffer@FreeBSD.org>2015-07-13 11:58:08 +0000
commitc846b28e604ba83a68fe804104922daa0d814113 (patch)
tree8b53ffcba178c90b16d743ea9ca5f4118de2bf38
parente70b377190082d9d101ccea4d2282c3e18c16cc6 (diff)
downloadFreeBSD-src-c846b28e604ba83a68fe804104922daa0d814113.zip
FreeBSD-src-c846b28e604ba83a68fe804104922daa0d814113.tar.gz
MFC: r284931
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 Approved by: re (gjb)
-rw-r--r--sys/x86/isa/atrtc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/x86/isa/atrtc.c b/sys/x86/isa/atrtc.c
index 69c2157..d969594 100644
--- a/sys/x86/isa/atrtc.c
+++ b/sys/x86/isa/atrtc.c
@@ -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. */
OpenPOWER on IntegriCloud