CSR 位字段

RISC-V mnscratch CSR 寄存器详解

地址 0x740特权级 M模式访问 MRW(Smrnmi) / MXLEN保留、自定义或未分类 CSR

Smrnmi 的 M 模式暂存 CSR,供 RNMI 处理程序保存和恢复被中断的上下文。

字段映射

按 bit 字段理解 mnscratch

1 个关键字段
MXLEN-1:0

VALUE

读写

整个 MXLEN 位 mnscratch 暂存值,供 RNMI 处理程序保存和恢复被中断的上下文。

这个字段控制什么

  • - 整个 MXLEN 位 mnscratch 暂存值,供 RNMI 处理程序保存和恢复被中断的上下文。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

官方依据与检索要点

Smrnmi 的 mnscratch 是一个 MXLEN 位读写寄存器,供 RNMI 处理程序保存和恢复被中断的上下文。

第 8.3 节将其定义为 MXLEN 位读写寄存器。
它用于 RNMI 处理程序保存和恢复被中断上下文。

读这个 CSR 时先看什么

  • - mnscratch 仅由 Smrnmi 扩展添加;CSR 列表将其列为 MRW。
  • - 该寄存器是一个完整的 MXLEN 位读写暂存值,不应套用保留位或并发硬件更新的通用模板。

写入前的风险检查

  • - RNMI 处理程序必须自行安排该暂存值的保存和恢复;手册没有规定字段级写副作用。

放回真实流程里理解

1

确认 hart 实现 Smrnmi。

2

RNMI 处理程序用 mnscratch 保存或恢复被中断上下文所需的暂存值。

3

用 MNRET 从 RNMI 处理程序恢复执行。

常见问题

mnscratch 是否总是存在?

否。它由 Smrnmi 扩展添加。