[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CASSIOPEIA report
鈴木(康)です。
<200005160650.PAA26402@shin1.sm.sony.co.jp>の記事において
takemura@netbsd.orgさんは書きました。
| > ちょっと考えてみたんですが、やっぱり サスペンド/リジュームを
| > おこなうレベルは、ドライバの probe などを行うのと同じレベルでないと
| > いけなさそうです。(= sleep ができるレベル)
|
| カーネルスレッドを作らないと駄目みたいですね。
| そのへん(Power Management)の実装については私が検討しております。
| 全部ちゃんと考えるのはかなり時間がかかりそうですが、
| そろそろコードも書くようにします。
とりあえず実験していこうと思っているだけなんで、
そんなに急かすつもりはないです。
# デザインとか難しい面も多々あると思いますし..
| とりあえず実験は電源 sw の割り込みルーチンではなく、cpu_reset
| ルーチンを修正して、shutdown -h などとして user land からキックする
| ようにしてはどうでしょうか。
うーん。
カシオペアで実験やりたいので、カーネル+ボタンだけでテストできるのが
嬉しいです。
というわけで、md な ソフトウェア割り込みを 1 つ増やして
そこから config_hook_call するような仕組みをいれるのが
一番楽そうなんですが...
#define SIR_NET 0x1
にたいして
#define SIR_CONFIG_HOOK 0x2
とか作って
DO_SIR(SIR_CONFIG_HOOK, config_hook_intr());
ってすれば、いいんですよね。
config_hook_call では、イベントを登録するだけにして、
config_hook_intr で 実際の call 動作をさせる。
おおきなメリットがあるわけじゃないんですが...
config_hook の関数群が動作する割り込みレベルを一定にすることができる。
ので、なにかと便利だと思うんですが いかがでしょうか?
# ほんとは、MIPS_SOFT_INT_MASK_1 じゃなくて MIPS_SOFT_INT_MASK_0 で
# 動いた方がよいと思う。
--
鈴木 康司 @NECソリューションズ
suz@hpc.bs1.fc.nec.co.jp
TEL 042-333-6465