[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 880] ペンティアムバグの対策方法
隆一です。
B-Free の話題とはちょっと離れますが(いや、そうでもない?)、ペンティア
ムのバグの対策方法が下記のページに載りました。
■ エラッタに関する技術的解説
http://www.intel.co.jp/jp/procs/pentium/ppiie/descrip.htm
簡単にいうと、無効命令例外が発生したときに、バスをロックしていると割り
込み処理に飛べない(メモリにアクセスできない)、というのが止まってしまう
原因です。
そこで、IDT (例外処理の登録用のテーブル) のページを一部をマッピングし
ないようにしておき、無効命令例外が発生したときにページフォールトを起こ
すようにします。ページフォールトの処理の中で無効命令例外かどうかをチェッ
クするというのが対策です。ページフォールトはバスをロックしていても処理
できるので、うまくいくというものです。
なんか、すごいタイトな対策で、バスロック中はページフォールトが起きない
ようになっていたら対策できなかったかもしれません。
各 OS の対策の現状についても以下の URL に載っています。
■ オペレーティングシステムベンダからのステートメント
http://www.intel.co.jp/jp/procs/pentium/ppiie/software.htm
どうやら、Linus さんは Intel の技術者と協力して対策方法を考えだしたみ
たいです。実際、対策も早かったですし(今のところ BSDI と Linux しか対策
できていません)。
で、Microsoft はいつ対策するんでしょうか? :-P
p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
b----------------------------------------------------------------------d