(toppers-users 1656) Re: JSP1.4のarmv4について質問です

seiichi_horie seiichi_horie @ yahoo.co.jp
2004年 9月 14日 (火) 01:15:42 JST


はじめまして、酔漢と申します。
私もarmv4をいじっています。
http://ecrafts.g.hatena.ne.jp/suikan/

1. exit_and_dispatch
ご指摘のとおりだと思います。割り込み待ちを正しく行うために、

ldr r0, =schedtsk /* schedtsk を読み込む */
ldr r1, [r0]
cmp r1, #0
beq dispatcher_2 /* <<== */
ldr r2, =runtsk /* schedtsk を runtskに */
str r1, [r2]

となっているところを

ldr r0, =schedtsk /* schedtsk を読み込む */
ldr r1, [r0]
cmp r1, #0
ldr r2, =runtsk /* schedtsk を runtskに */
str r1, [r2]
beq dispatcher_2 /* <<== */

とすべきですね。

2. cpu_lock状態の例外
以前別プロセッサで同様な質問をしたことがありますが、「cpu_lock状態では元
の状態に復帰できなくても仕方ないと思える」という意見をいただきました。

この件もそう考えれば仕方ないとうけいれられるように思えます。

酔漢/堀江

Shinji Suzuki wrote:

>はじめまして。
>鈴木と申します。
>
>JSP1.4のarmv4について質問です。
>
>1. cpu_support.S の exit_and_dispatch で schedtsk が無い(ゼロの)場合、
>   割込み待ちに入っていますが、runtsk をゼロにしておく必要はありませんか?
>   # 上記割込み待ちの時に、割込みが発生し割込みハンドラ内で iget_tidを
>   # コールすると runtsk の値を取得してくるので runtsk をゼロにしておか
>   # ないとタスクが存在している事になる!? (TSK_NONEにならない)

** Cut quoted 14 lines by the mail filter. **

__________________________________
Do You Yahoo!?
http://bb.yahoo.co.jp/