(toppers-users 353) Re: Toppers CPU ロック状態について
Takayuki WAKABAYASHI
takayuki @ ertl.ics.tut.ac.jp
2002年 1月 29日 (火) 14:26:10 JST
豊橋技術科学大学の若林です。
Shigemitu Takata さんは書きました:
> 割り込みハンドラに入った時点で CPU ロック状態になるとして、その場合サー
> ビスコールの使用に制限がかかるのでしょうか。CPU ロック状態で許されている
> サービスコールは、Toppers では何になるのでしょうか。
mITRON4.0仕様では、非タスクコンテキストかつCPUロック状態で使えるAPIは
次のものに限定されています。
・iloc_cpu / iunl_cpu
・sns_dpn, sns_dsp, sns_ctx, sns_loc, sns_tex
カーネル内部を見回してみたところ、TOPPERS/JSPで使えるのも多分
これだけだと思います。依存部によっては例外的にena_intやchg_ixxが
使えるものもありそうですが、実装ミスかサポート外と書いてあるかの
どちらかのようです。
余談ですが、APIがどの状況で呼べるかは、各API関数の先頭にある
CHECK_xxx というマクロでわかります。
・CHECK_TSKCTX : タスクコンテキスト
・CHECK_INTCTX : 非タスクコンテキスト
・CHECK_TSKCTX_UNL : タスクコンテキストかつCPUロック解除状態
・CHECK_INTCTX_UNL : 非タスクコンテキストかつCPUロック解除状態
以上 参考になれば幸いです。
+----------------------------------------------+
| Takayuki WAKABAYASHI (わかばやし たかゆき) |
| mailto: takayuki @ ertl.ics.tut.ac.jp |
+----------------------------------------------+
| 豊橋技術科学大学 工学研究科 電子情報工学専攻 |
| 組込みリアルタイムシステム研究室 |
+----------------------------------------------+