[Suzaku:00178] Re: EDK で JSP カーネルが作成できない (?)

MURANAKA Masaki email@hidden
2004年 12月 14日 (火) 15:36:37 JST


もなみソフトウェアの邑中です。
こんにちは。

MURANAKA Masaki wrote:
> もう少し挙動を追いかけてみます。

もう少し挙動を追いかけてみました。

単純化すると、JSPのタスク内で
 unsigned int i;
 for(i = 0; i < 0x10000; i++) { /* dummy */ }
でリブートがかかります。
しかし、下記の場合は該当箇所で落ちなくなります。

case1. 割込みを禁止する。
 unsigned int i;
 loc_cpu();
 for(i = 0; i < 0x10000; i++) { /* dummy */ }
 unl_cpu();

case2. iをsignedで定義する
 int i;
 for(i = 0; i < 0x10000; i++) { /* dummy */ }

上記症状から、割込みハンドラ内でレジスタの保護漏れか
初期化漏れがあるのではないかという気がしています。
(コアにバグがあるという可能性も無くは無いですが…)

アセンブラコードが原因であればJSPに閉じた話になりますが、
GCCのコード生成が絡んでいると、uClinuxでも同様の問題が
発生する可能性がありますね。

とりあえず、Suzaku-MLからは引き下がって、TOPPERS
プロジェクト内の開発者ML内で揉んでみます。
お騒がせしました。

--
Masaki Muranaka
Monami software




suzaku メーリングリストの案内