V-scale にマシンモード実装中 その3

ブレークポイントは特権マニュアルの1.9.1に追加されたレジスタ tselect を使っているんだけど、アドレス以外にこのレジスタの機能が書いていない。で、なぜか SiFive のホームページにおいてある デバッグマニュアル に書いてありそうな感じ。とりあえず後回しにする。
で、命令ミスアラインアクセス。なんとなく(メモリからのエラーを)処理するコードがあるけど、発生源がない模様。メモリの前に追加してみたけどパスしない。マニュアルを読んでみると、メモリから帰ってくるエラーは Instruction access fault で、Instruction address misaligned を発生するのは分岐命令自身の様だ。で、分岐命令もキャンセルされなくてはならないみたいです。なので、分岐命令に例外発生条件追加。
データアクセス側も同様に例外発生条件を追加して 2本パス。残るはブレークポイントだけになりました。

[PR]
トラックバックURL : http://tom01h.exblog.jp/tb/27135718
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by tom01h | 2016-12-02 00:05 | PCとか | Trackback | Comments(0)