RISC-V トレースフォーマットの勉強。続き。
1章ずつ、翻訳ではなく日本語でサマライズしていく形式で進めていく。
4. フィルタリング
エンコーダがトレースを生成するためのメカニズムを示している。例えば、以下の条件ではトレースは生成されるべきである。
- 命令アドレスが特定の範囲内に存在する。
- 1つの命令のアドレスから始まり、2番目の命令アドレスまで続く。
- 1つ以上の特定の特権モード。
- 特定のコンテキストもしくはコンテキストの範囲内。
- 特定の要因の例外しくは割り込みハンドラ。もしくは特定のtvalの値。
- impldefもしくはtrigger信号に基づく値
- 特定の固定時間
このような実装をどのようにして実装するかについては、以下のような実装方法が考えられる。
- 特定の演算に基づくコンパレータ(<, >, =, !=,など)。iaddress, contextおよびtvalに適用される。
- privおよびcauseの選択
- interruptおよびimpdef入力に対するマスク付きマッチング
- trigger[0]がアサートされた場合のトレース有効化機能、trigger[0]がアサートされた場合のトレース継続機能