Am79C970/4.mone2.1を助けるために


Top / Am79C970 / 4.mone2.1を助けるために

考えよう

考えるポイントは

PCIの割り込みについてのまとめ

 下で紹介した本とosdev-j調査によるまとめ。
 	
 PCIは基本的にレベルトリガ。
 	
 割り込み共有を行うためにレベルトリガになっている。
 	
 レベルトリガの場合、割り込みコントローラは、割り込み信号がアサート状態である限りいつでも割り込み要求が発生していると認識する。
 	
 OSはIRQ共有の仕組みを以下のように行う。
 	
     * すべてのデバイスには「割り込み要求をしているのはあなたですか?」の問い合わせをする(デバイス固有の方法)
     * アサートをを解除。つまりディアサートする。(デバイス固有の方法)
 	
 	
 PCIの割り込みディアサートはいつでも非同期に行えるらしい。
 	
 PIC自身が持っているエッジ・レベル選択は今のPCでは意味がない(by neriさん)
 	
 PICの設定でかえると、全ポートの設定が変わるからまずい(PCI/ISA共有できない)
 	
 だからチップセットでIRQ毎にエッジとレベルを選択できるように今は拡張されている。
 	
 PICそのものにあるエッジ・レベルの設定はエッジ固定でいきましょう。
 	
 知りたかった事
 	
 割り込み状態の解除を行うには「各デバイス固有に方法が存在するのでそれを使う」 or 「共通インターフェースをたたけばよい」のどちらなのか?。
 	
 もし前者であれば
 	
 各デバイスドライバは固有の方法を export し、割り込み時にカーネルはそれを callしてやらなければいけない。
 	
 後者であれば、割り込み時にカーネルがデバイスの種類にかかわらず共通インターフェースをたたいて割り込み状態を解除してメッセージでそれをドライバに通知、その後にドライバが割り込みの要因となった処理ををゆっくり行えばよい
 	
 この2つでかなりカーネルの設計が変わるんです、今は後者を目指しているのですがアーキテクチャ的にそれが無理ならば仕組みを考えないとなぁ。

コメント

コメントはありません。 コメント/Am79C970/4.mone2.1を助けるために?

お名前:

MENU

now: 1

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 2828, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:47:54 (3712d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.044 sec.