NetBSD/amiga の 2000 年問題対応


ハードウェアクロックサポート

… Amiga マシンにおいて
Amiga 500+、 2000、 3000 および 4000 マシン (およびボードを追加した他のマシン のいくつか) は、 OKI または RICOH 製のクロックチップを使っています。 これらはいずれも、 BCD 形式で 2 桁の年を使います。

Adam Ciarcinsky が気づいたとおり、残念ながら NetBSD はこれを正しく扱いません。

背景
A3000 と A4000 で使われている Ricoh RP5C01 クロックチップと、 A500+ と A2000 マシンで使われている OKI MSM6242RS チップは、年は 1 の位と 10 の位 からなっていて 100 以上の位を持たない BCD カウンターを持っています。 このため、 (19)99 年の終わりにはハードウェアクロックは 00 に飛びます。 NetBSD は、このようなことを想定していません。しかしながら、少なくとも Ricoh のチップは、 10 の位を手動で 10 以上 (15 まで、これは 2000 年から 2059 年までをあらわす) に設定すればうまく動きます。
回避策:
1999 年 12 月 31 日深夜 (クロックチップのタイムゾーンで) までに NetBSD をブートする場合には、この問題を考慮する必要はなく、 2000 年に入って少なくとも 数秒までは動かせますが、修正済のカーネルがないあいだは AmigaOS をブートしてはなりません。
カーネルの修正:
1.4.x および 1.3.x カーネルソースに対して: ftp サーバーの /pub/NetBSD/arch/amiga/misc/ ディレクトリーにある パッチ を適用します。 または、 NetBSD-1.4.2_ALPHA バージョンの rtc.ha2kbbc.c、および a34kbbc.c (1.4.1 に対してのみ!) を使います。

1.4.2 リリースおよび NetBSD-current では、すでに修正済です。

… DraCo マシンにおいて
DraCo マシンは、 1978 年 1 月 1 日から 1/256 秒刻みで 40 ビットの ハードウェアクロックを使っています。これは 2114 年 1 月に溢れます。 この日が近付いてもメーカーから解決策が提供されなかった場合には、 私たちはクロックの基準時点を再設定するよう推奨するつもりです。 NetBSD は、事実上他のすべての Unix 的システムと同様に、 2036 年以降に動作 するためには、より広い範囲を持った time_t に移行する必要があることに 注意してください。

See also:


Up to NetBSD/amiga Port Page
NetBSD ホームページ
NetBSD 対応アーキテクチャー

(連絡先 - 英語, 日本語: www@jp.NetBSD.org)
$NetBSD: y2000.html,v 1.3 2007/07/29 02:41:27 kano Exp $
Copyright © 1994-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.