(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/