[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