mhpmevent31h 可以在任意特权级访问吗?
不能。官方 CSR 表把 mhpmevent31h 列为 Machine 模式 CSR;低特权级软件只有在相关标准扩展提供明确的委托或权限机制时才可访问对应状态;权限不足或未实现时直接 CSR 访问会触发非法指令异常。
mhpmevent31h(地址 0x73F)是 RV32 上 mhpmevent31 位 63:32 的高半 CSR,随 Sscofpmf 提供。
mhpmevent31h 不是独立事件选择器,而是 RV32 上 mhpmevent31 的高 32 位访问窗口。它承载 Sscofpmf 的 OF 和模式过滤字段。
在 RV32 上读取 mhpmevent31h 查看 mhpmevent31 高半状态。
按需要处理 OF 或模式过滤位。
实现 Supervisor 模式时,可结合 mhpmcounter31 读数和 scountovf 检查溢出状态。
不能。官方 CSR 表把 mhpmevent31h 列为 Machine 模式 CSR;低特权级软件只有在相关标准扩展提供明确的委托或权限机制时才可访问对应状态;权限不足或未实现时直接 CSR 访问会触发非法指令异常。
在 RV32 上需要按 64 位 CSR 高低半的一致性处理,避免一个路径写高半、另一个路径同时写低半造成配置不一致。