diff -urN 2.4.8pre5/arch/alpha/kernel/time.c epoch/arch/alpha/kernel/time.c --- 2.4.8pre5/arch/alpha/kernel/time.c Sat Jul 21 00:04:03 2001 +++ epoch/arch/alpha/kernel/time.c Tue Aug 7 20:20:09 2001 @@ -300,7 +300,9 @@ /* PC-like is standard; used for year < 20 || year >= 70 */ epoch = 1900; - if (year >= 20 && year < 48) + if (year < 20) + epoch = 2000; + else if (year >= 20 && year < 48) /* NT epoch */ epoch = 1980; else if (year >= 48 && year < 70) diff -urN 2.4.8pre5/drivers/char/rtc.c epoch/drivers/char/rtc.c --- 2.4.8pre5/drivers/char/rtc.c Wed Jul 4 04:03:45 2001 +++ epoch/drivers/char/rtc.c Tue Aug 7 20:19:55 2001 @@ -710,15 +710,24 @@ if (!(ctrl & RTC_DM_BINARY) || RTC_ALWAYS_BCD) BCD_TO_BIN(year); /* This should never happen... */ - if (year >= 20 && year < 48) { + if (year < 20) { + epoch = 2000; + guess = "SRM (post-2000)"; + } else if (year >= 20 && year < 48) { epoch = 1980; guess = "ARC console"; } else if (year >= 48 && year < 70) { epoch = 1952; guess = "Digital UNIX"; +#if defined(__mips__) } else if (year >= 70 && year < 100) { epoch = 1928; guess = "Digital DECstation"; +#else + } else if (year >= 70) { + epoch = 1900; + guess = "Standard PC (1900)"; +#endif } if (guess) printk(KERN_INFO "rtc: %s epoch (%lu) detected\n", guess, epoch);