TVAL
读写WARL 的 VS trap 附加值,必须能保存 stval 可保存的同一组值,包括所有有效虚拟地址和 0;若实现非法指令位回报,还必须保存规范要求的低位值范围。
这个字段控制什么
- - WARL 的 VS trap 附加值,必须能保存 stval 可保存的同一组值,包括所有有效虚拟地址和 0;若实现非法指令位回报,还必须保存规范要求的低位值范围。
vstval 是 VSXLEN 位 WARL 的 guest trap 附加值;进入 VS-mode trap 时按 stval 的异常类型规则写入。
WARL 的 VS trap 附加值,必须能保存 stval 可保存的同一组值,包括所有有效虚拟地址和 0;若实现非法指令位回报,还必须保存规范要求的低位值范围。
vstval 为 VS-mode trap 提供异常专用附加值。它继承 stval 的有效地址、可选指令位、software-check 与零值规则。
M/HS 软件可通过独立 CSR 地址访问 vstval 的 VS 副本。
当 V=1 时,guest 访问 stval 类 supervisor CSR 会替代到对应 VS 状态;直接访问独立 VS CSR 地址会触发 virtual-instruction exception。
进入 VS-mode trap 会同时写 vsepc、vscause 和 vstval;先读 vscause 再按对应异常规则解释 vstval。
不能。H 扩展规定 V=1 时 guest 通过对应 supervisor CSR 别名访问 VS 状态;直接读写独立 VS CSR 地址会触发 virtual-instruction exception。
它按 vscause 对应的异常类型保存故障虚拟地址、可选指令位、software-check 原因或零。