(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         |
+----------------------------------------------+
| 豊橋技術科学大学 工学研究科 電子情報工学専攻 |
|   組込みリアルタイムシステム研究室           |
+----------------------------------------------+