Mercurial > hg > Game > Atoc
view kernel/entry.s @ 0:42f240cc4bc6
From: 太田 篤志 <atoc@namikilab.tuat.ac.jp>
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Sep 2009 13:44:18 +0900 |
parents | |
children |
line wrap: on
line source
/** * entry.s * SPE 軽量カーネル エントリポイント */ .file "entry.s" .text .global _entry __SPE_LS_START__: # 00h # /** * ToDo: SPE で発生するイベントとかのハンドラをここに書く。 * 現在はとりあえず SPE プロセスマネージャに対して割り込みを発生させる。 */ stop 0x3FFE .align 4 _entry: # 10h # # スタックおよびスタックポインタの初期化 # (cf. SPU Application Binary Interface 仕様書 v1.6 p.20) ila $3, 0 ila $4, 0x3FFF0 ila $5, 0x3FFD0 stqd $3, 0($4) stqd $4, 0($5) or $1, $5, $3 # sp = 0x3FFD0 (Initial Stack Pointer) # SPU 割り込み機能をイネーブルにしつつ kernel.c へ ila $3, start bisl $0, $3 # bisle $0, $3 # SPE プロセスマネージャに対してプロセス終了を示す割り込みを発生させる stop 0x3FFD ## stop 命令以降 SPE の実行は停止する。 ## デバイスドライバの割り込みハンドラで再びプログラムカウンタが _entry (= 0x10) へ移され、 ## 実行が再開される。 # 34h #