-
Notifications
You must be signed in to change notification settings - Fork 31
Emulator
Yuya Degawa edited this page Jun 5, 2023
·
3 revisions
シミュレーション対象となる実行ファイルや,そのコマンドライン入力の設定を行う
<!-- Emulator parameters-->
<Emulator
TargetArchitecture='AlphaLinux'
>
<Converter
EnableSplitLoadStore='1'
/>
<Processes>
<Process
PDB_Array='1'
TargetWorkPath='./'
TargetBasePath='./'
Command=''
CommandArguments=''
STDIN=''
STDOUT=''
STDERR=''
StackMegaBytes='16'
/>
</Processes>
</Emulator>
- 実行対象のターゲット・アーキテクチャを指定する
- 現在指定可能なのは,以下の2つ
-
AlphaLinux
- Alpha/Linux の実行環境をエミュレーション
-
PPC64Linux
- PowerPC 64bit/Linux の実行環境をエミュレーション
-
- ロード命令やストア命令を,スプリット・ロード・ストアとして処理するか否か
- 1を指定した場合,各ロード命令やストア命令はアドレス計算とメモリ・アクセス命令に分解される
- プロセスの実行パラメータを設定する
- このノードでは,パラメータ指定を行った際,元の値を上書きするのではなく,新しいノードが追加される
- PDB_Array 属性が1になっているノードは,同様の振る舞いを行う
- DefaultParam.h にあるProcess はプレイスホルダーとなっており,新しく追加されるノードの初期値はここのものが使用される
- このノードでは,パラメータ指定を行った際,元の値を上書きするのではなく,新しいノードが追加される
- 複数プロセスの実行を行う際は,複数のProcess ノードを入力として与えることにより行う.
- file0.xml
...
<Processes>
<Processs
Command='a0.out'
...
>
</Processes>
...
- file1.xml
...
<Processes>
<Processs
Command='a1.out'
...
>
</Processes>
...
上記の2ファイルを以下のようにして読み込ませた場合,
onikiri2 file0.xml file1.xml
シミュレータからは以下のように見える
<Processes>
<Processs
Command='a0.out'
...
>
<Processs
Command='a1.out'
...
>
</Processes>
-
@TargetWorkPath
- ワーク・パスの設定.ターゲットの実行ファイルは,ここで指定したパスをカレント・ディレクトリとして起動される.
-
@TargetBasePath
- ターゲットのパス指定を行う際のベースの指定.以下の属性でファイル名を指定する際は,このパスからの相対パスとして扱われる.
-
@Command
- 実行ファイル名の指定
-
@CommandArguments
- コマンドライン引数
-
@STDIN
- 指定したファイルがターゲットの標準入力に入力される.
-
@STDOUT
- 指定したファイルにターゲットの標準出力の内容を出力する.空の場合,ホストの標準出力に出力が行われる.
-
@STDERR
- 標準エラーに関する設定.
@STDOUT
と基本的に同じ.
- 標準エラーに関する設定.
-
@StackMegaBytes
- スタック領域のサイズ指定.