[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: InternetWeek99 BSDnahitotoki



itojun@iijlab.net writes:
> 	pollingのコードはどのへんに入ってますか?
> 	実は(i386ですが)HiNote Ultra IIのsecond pcicのサポートにやっぱり
> 	pcicのpollingが必要なので拝見したいです。

とてもお見せできるような代物ではありません:-)

MIなデバイスドライバを変えるのがいやだったので、isa_intr_establish()が呼
ばれたときに、GPIOのポート番号が範囲外の値だったらドライバの割り込みハン
ドラをpolling用のテーブルに登録して、rtcの割り込みハンドラ内でpollingテー
ブルに登録された関数を呼び出すといった汚い実装になっています。(割り込み
レベルがどうとかいう問題は無視しています。)

取りあえず原理の確認用にでっち上げたコードなので、闇に葬ってしまおうかと
思っています。

NetBSD的には、割り込みを発生しないデバイスのサポートのためにもっときれい
なpollingの仕組みが必要だと思うのですが、既存の機能でそういうものがある
かどうかわかりませんでした。

timeout(9)を使うことも考えたのですが、これだとドライバが明示的にpolling
のための関数を自分で登録/削除しないといけないので、上記のようなでっち上
げをした次第です。

篠原