CSR 位字段

RISC-V mtopi CSR 寄存器详解

地址 0xFB0特权级 Machine 模式访问 机器模式只读 / MXLENMachine AIA、定时器与间接中断 CSR

AIA 机器级顶层中断只读报告 CSR,报告当前最高优先级的已挂起且已使能机器级中断。

字段映射

按 bit 字段理解 mtopi

4 个关键字段
MXLEN-1:28

Reserved

只读 0

AIA 规定 mtopi 的其他位保留并读为 0。

这个字段控制什么

  • - AIA 规定 mtopi 的其他位保留并读为 0。

常见取值

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

27:16

IID

机器模式只读

最高优先级 pending-and-enabled 机器级中断的 major interrupt identity;仅在存在未委派到更低特权级且 mip/mie 同时置位的中断时非零。

这个字段控制什么

  • - 最高优先级 pending-and-enabled 机器级中断的 major interrupt identity;仅在存在未委派到更低特权级且 mip/mie 同时置位的中断时非零。

常见取值

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

15:8

Reserved

只读 0

AIA 规定 mtopi 的其他位保留并读为 0。

这个字段控制什么

  • - AIA 规定 mtopi 的其他位保留并读为 0。

常见取值

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

7:0

IPRIO

机器模式只读

报告中断的优先级编码;若机器级 iprio 数组全为只读 0,非零 mtopi 可简化为 IPRIO 恒为 1。

这个字段控制什么

  • - 报告中断的优先级编码;若机器级 iprio 数组全为只读 0,非零 mtopi 可简化为 IPRIO 恒为 1。

常见取值

mtopi report value
0无可报告中断

读取 mtopi 返回 0 表示没有同时在 mip 中 pending、在 mie 中 enabled、且未委派到更低特权级的机器级中断。

官方依据与检索要点

AIA 机器级顶层中断只读报告 CSR,报告当前最高优先级的已挂起且已使能机器级中断。

官方 AIA 表列出 mtopi 的地址 0xFB0、访问类 机器模式只读、宽度 MXLEN。
mtopi 报告机器级最高优先级的已挂起且已使能中断。
mtopi 不受 mstatus.MIE 全局中断使能位影响。
页面避免使用旧模板中的泛化 trap/debug 文案。

读这个 CSR 时先看什么

  • - 按官方 AIA CSR 表核对 mtopi 的地址、访问类和宽度。
  • - mtopi 不受 mstatus.MIE 全局中断使能位影响。

写入前的风险检查

  • - mtopi 是只读 CSR,软件不应写入。

放回真实流程里理解

1

确认 hart 实现 AIA 机器级中断扩展。

2

读取 mtopi 后按 AIA 对 top interrupt 的定义解释。

3

用 IID 判断当前最高优先级机器级中断,用 IPRIO 理解其优先级编码。

常见问题

mtopi 是标准 AIA CSR 吗?

是,本页按官方 AIA CSR 表列出的地址、访问类和宽度解释。

mtopi 可以写入吗?

不可以。官方 AIA 表将 mtopi 列为 MRO 只读 CSR;软件只应读取并解释返回的 top interrupt 编码。