(toppers-users 352) Re: Toppers CPU ロック状態について

Shigemitu Takata takata @ kyoto-sr.co.jp
2002年 1月 29日 (火) 14:09:35 JST


こんばんは、
  高田@京都ソフトウェアリサーチです。

  若林さん、ご返答ありがとうございます。

> 「TOPPERS/JSPのCPUロック状態 = カーネル管理内割込みの禁止」だと認識しています。
> ただ、実装方法によっては、割込みを禁止しなくてもよい場合もあります。
>  #オーバヘッドが大きそうですが...
> 
> 割込みの出入口処理とCPUロック状態に関しては、多分ほとんどの依存部がCPUロック状態
> だと思います。少なくとも、V850は入口/出口の一部が割込み禁止で動作し、
> かつCPUロックかどうかを割込み禁止ビットで見ているため、事実上CPUロック状態です

  なるほど、参考になりました。CP0 12 レジスタの EPc レジスタのセット、ク
リアで基本的に問題ないと思います。

  そこで、もう一つ質問をよろしいでしょうか、
  割り込みハンドラに入った時点で CPU ロック状態になるとして、その場合サー
ビスコールの使用に制限がかかるのでしょうか。CPU ロック状態で許されている
サービスコールは、Toppers では何になるのでしょうか。
  ドキュメントを読んだ限りでは、CPU ロックに関するサービスコールの制限事
項について特になく、ざっとソースを見た感じでは、CPU ロック状態の検査を行っ
ていないので、非タスクコンテキストで許されているサービスコールルーチンが
利用できると認識しております。
  uITRON 4.0 仕様だとその部分は 未定義とあるので Toppers の実装ではどの
ように扱っているのか、よろしければ教えていただけないでしょうか。

/*
Shigemitu Takata <takata @ kyoto-sr.co.jp>
*/