VALUE
读写完整 mtinst 值。该 CSR 是 WARL,只需能保存实现可能在陷阱时自动写入的值;非零值必须是规范允许的转换指令、仅用于非标准陷阱指令的自定义值或特殊伪指令之一。
这个字段控制什么
- - 完整 mtinst 值。该 CSR 是 WARL,只需能保存实现可能在陷阱时自动写入的值;非零值必须是规范允许的转换指令、仅用于非标准陷阱指令的自定义值或特殊伪指令之一。
常见取值
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
机器陷阱指令 CSR,由 Hypervisor 扩展加入;陷阱进入 M 模式时写入 0、转换后的陷阱指令、仅用于非标准陷阱指令的自定义值或特殊伪指令。
完整 mtinst 值。该 CSR 是 WARL,只需能保存实现可能在陷阱时自动写入的值;非零值必须是规范允许的转换指令、仅用于非标准陷阱指令的自定义值或特殊伪指令之一。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
mtinst 是 Hypervisor 扩展加入的 MXLEN 位 M 模式读写 CSR,地址 0x34A。陷阱进入 M 模式时,它保存 0 或官方定义的陷阱指令辅助值;该 CSR 是 WARL。
陷阱进入 M 模式后,软件先根据 mcause 判断中断或同步异常类型。
若 mtinst 非零,按官方合法值类别验证其编码,而不是直接当作原始指令字。
对 guest-page fault,结合 mtval、mtval2 和 mtinst 判断出错虚拟地址、guest physical address 以及是否为 VS 阶段隐式访存。
不能。官方 CSR 表列出 mtinst 为地址 0x34A 的 MRW CSR,最低访问级为 M 模式。权限不足或访问未实现 CSR 时会触发非法指令异常。
最容易把 mtinst 误当成原始指令副本。官方规则允许 0、转换指令、仅用于非标准陷阱指令的自定义值或特殊伪指令;无法识别的值可按 0 处理。