(toppers-users 1944) Re: H8S、非タスクコンテキストでの割込みについて質問

二村誠示 snimura @ icrl.mew.co.jp
2005年 2月 16日 (水) 22:03:00 JST


高橋様


> 下の内容と合わせて、理解できたことは、loc_cpuで、割り込み禁止状態にす
> 場合に過渡状態において、割り込みが入る場合があるということですね。
 
その通りです。
「割込み禁止状態にする過渡状態において割込みが入る場合がある」
といった表現でぴったりです。

 
> たぶん、isig_tim()の中で、CHECK_INTCTX_UNL()をしているのは、
> 割り込み禁止の過渡状態をチェックしているように思います。
> その場合は、time tic を止める処理なのですから、isig_tim()を今回スキップ
> することでよいかと思います。つまり、エラーログ出力されますが、
> 処理としてスキップされるので、そのままでよいかと思います。
> #ログのシリアルを別途利用されているのでしたら、syscallをはずされたら
> #よいですね。

ありがとうございます。
CHECK_INTCTX_UNL()をしている意味が分かっていなかったので、スキップさせて
良いのかどうか悩んでいました。

ただ、CHECK_INTCTX_UNL()はisig_tim()だけではなく、isig_sem()やiset_flg()
など、非タスクコンテキストで使用するサービスコールの中でも使用しています。
現在確認できているのは、isig_tim()でのエラーだけですが、タイミングに
よってはisig_sem()等でも同じエラーが出ると思います。
これら全てについてCHECK_INTCTX_UNL()をスキップして良いのかどうかが、
不安に思っています。

 
> 岩沢様のご指摘のように、モード1はH8とほぼ扱いが同じだとハードウエア
> マニュアルから判断し、JSP1.4のH8からH8Sに移植されたとばかり思って
> いました。

私は逆にH8がH8Sとほぼ同じ扱いをしていることを知りませんでした。
H8用のソースも見てみようと思います。


ご回答、どうもありがとうございます。
今後ともよろしくお願い致します。