2017年 11月 30日
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