Apply by doing:
       cd /usr/src/sys
       patch -p0 < 014_y2k.patch

--- arch/i386/isa/clock.c.orig  Thu Mar 25 00:03:36 1999
+++ arch/i386/isa/clock.c       Thu Dec 23 11:07:46 1999
@@ -449,7 +449,7 @@
{
       mc_todregs rtclk;
       time_t n;
-       int sec, min, hr, dom, mon, yr;
+       int sec, min, hr, dom, mon, yr, cent;
       int i, days = 0;
       int s;

@@ -481,7 +481,18 @@
       dom = hexdectodec(rtclk[MC_DOM]);
       mon = hexdectodec(rtclk[MC_MONTH]);
       yr = hexdectodec(rtclk[MC_YEAR]);
-       yr = (yr < 70) ? yr+100 : yr;
+       switch ( cent = hexdectodec(mc146818_read(NULL, NVRAM_CENTURY)) ) {
+       case 19:
+               /* FALLTHROUGH */
+       case 20:
+               yr += cent * 100;
+               break;
+
+       default:
+               (void)printf("WARNING: Your NVRAM doesn't seem to hold "
+                            "century\n");
+               yr += ((yr < 70) ? 2000 : 1900);
+       }

       n = sec + 60 * min + 3600 * hr;
       n += (dom - 1) * 3600 * 24;
@@ -491,7 +502,7 @@
       for (i = mon - 2; i >= 0; i--)
               days += month[i];
       month[1] = 28;
-       for (i = 70; i < yr; i++)
+       for (i = 1970; i < yr; i++)
               days += yeartoday(i);
       n += days * 3600 * 24;

@@ -557,7 +568,10 @@
       for (j = 1970, i = yeartoday(j); n >= i; j++, i = yeartoday(j))
               n -= i;

-       rtclk[MC_YEAR] = dectohexdec(j - 1900);
+       rtclk[MC_YEAR] = dectohexdec((j - 1900) % 100);
+
+       /* update century byte */
+       mc146818_write(NULL, NVRAM_CENTURY, dectohexdec(j / 100));

       if (i == 366)
               month[1] = 29;