XLEN-1:XLEN-2
MXL
只读机器模式 XLEN 编码:1=32 位,2=64 位,3=保留 位。
这个字段控制什么
- - 机器模式 XLEN 编码:1=32 位,2=64 位,3=保留 位。
常见取值
132 位
对应有效 XLEN=32。
264 位
对应有效 XLEN=64。
3保留
保留编码;可移植软件不应写入或依赖。
机器ISA寄存器,报告当前hart支持的ISA扩展。
机器模式 XLEN 编码:1=32 位,2=64 位,3=保留 位。
对应有效 XLEN=32。
对应有效 XLEN=64。
保留编码;可移植软件不应写入或依赖。
每个位表示一个标准字母扩展是否实现,bit0=A,bit1=B,依此类推。
对应字母扩展位为 0,表示该标准扩展未实现或当前不可用。
对应字母扩展位为 1,表示该标准扩展实现并可作为 ISA 能力报告。
misa 是 Machine ISA CSR,报告 hart 的 MXL 基础整数宽度和标准扩展位。使用它判断可用 ISA 能力,而不是配置 trap 或环境控制。
初始化或进入相关特权流程时,软件先读取 misa 了解当前状态。
根据字段定义只修改目标位,保留其余位的原值。
修改后再次读取或通过后续 trap/中断/上下文切换行为验证配置是否生效。
不能只看 CSR 名称判断。官方 CSR 地址编码和表格给出最低访问特权级;misa 当前记录为 M模式,权限不足或未实现时访问会触发非法指令异常。
不要把整个 CSR 当普通整数覆盖。应只修改目标字段,保留未修改位,并按规范处理 WARL、WLRL、WPRI 或保留字段。