NetBSD/amiga year 2000 compliance


Hardware clock support

... on Amiga machines
Amiga 500+, 2000, 3000 and 4000 machines (and some others with add-on boards) use clock chips from OKI or RICOH, which both have a BCD-encoded two-digit year.

Unfortunately, this isn't handled correctly by NetBSD, as discovered by Adam Ciarcinsky.

Analysis
The Ricoh RP5C01 clock chips used on A3000 and A4000, and the OKI MSM6242RS chips used on A500+ and A2000 machines, have BCD counters for the ones and tens of the year, and no hundreds or above. In effect, the hardware clock will jump to 00 at the end of (19)99. NetBSD does not take this into account. However, at least the Ricoh chip is fine if you set the tens manually to 10 or above (up to 15, encoding the years 2000..2059).
Workaround:
You will not notice the problem if you boot NetBSD before 1999 December 31 midnight (in the timezone of you clock chip), let it run until at least a few seconds into the year 2000, and do not boot AmigaOS until you have a fixed kernel.
Kernel fix:
For 1.4.x and 1.3.x kernel sources: apply the patch on the ftp servers /pub/NetBSD/arch/amiga/misc/ directory. Or use the NetBSD-1.4.2_ALPHA version of rtc.h, a2kbbc.c, and a34kbbc.c (only for 1.4.1!).

The 1.4.2 release and NetBSD-current have been fixed already.

... on DraCo machines
DraCo machines are using a 40 bit hardware clock counting 1/256 seconds from January 1, 1978. This will overflow in January 2114. We plan to recommend recalibrating the base date of the clock when this date comes near without any solution from the manufacturer. Note that NetBSD, like virtually all other Unix-like systems, would need to switch to a time_t with a higher range to work after 2036.

See also:


Up to NetBSD/amiga Port Page
NetBSD Home Page
NetBSD Supported Architectures

(Contact us) $NetBSD: y2000.html,v 1.20 2004/10/30 22:33:41 jschauma Exp $
Copyright © 1994-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.