人気ブログランキング | 話題のタグを見る

雑多な趣味の記録帳

tom01h.exblog.jp

zero-riscy でマシンモード命令を試す

なんでか知らないけど C 拡張の tohost レジスタのアドレスがちょっと違ったけど、そこだけ直すと rv32uc-p-rvc もパスしました。
マシンモードのテストに戻ります。
mstatus レジスタの mpp フィールドは、ユーザかマシンに限定するなら1ビットに省略してもよいとあります。
スーパバイザを選べないようにすことで、いろいろなテストを省略して illegal がパスしました。こんなので良いのかどうかは…
さらに変更なくとも scall, shamt がパスしました。
そしてマシン何とかIDレジスタを読み出し0固定で実装すると mcsr がパス。
tselect レジスタを -1 固定読み出しで追加すると breakpoint もパスします。
その際、zero-riscy 固有機能なの?パフォーマンスレジスタがアドレスがかぶっていたので移動しました。
残りのマシンモードテストは sbreak になりました。
ユーザモードの fence.i と合わせて保留かな?
V-scale の時はユーザモードではアクセスできない CSR とか命令とかあったけど、実装しなくてもよいのかな?

by tom01h | 2017-11-30 22:02