CSR 位字段

RISC-V sieh CSR 寄存器详解

地址 0x114特权级 Supervisor 模式访问 读写 / RV32 only / 32Supervisor 状态、trap 与中断 CSR

sieh(0x114)是 AIA 为 RV32 提供的 Supervisor interrupt-enable 高半 CSR,用于访问 sie 的高 32 位。

字段映射

按 bit 字段理解 sieh

1 个关键字段
31:0

SIE_63_32

SRW/RO0

AIA 在 RV32 上为 sie[63:32] 提供的高半访问窗口;若对应中断可以 pending,该使能位必须可写,否则为只读零。若实现 Smstateen 且 mstateen0.AIA=0,低于 M 模式访问会触发非法指令异常。

这个字段控制什么

  • - AIA 在 RV32 上为 sie[63:32] 提供的高半访问窗口;若对应中断可以 pending,该使能位必须可写,否则为只读零。若实现 Smstateen 且 mstateen0.AIA=0,低于 M 模式访问会触发非法指令异常。

常见取值

sieh high-half enable bits
0关闭

仅对官方 AIA 定义且实现为有效的 RV32 sie[63:32] 高半 interrupt-enable 位:0 表示对应中断使能关闭;未实现位可读为零。

1开启

仅对官方 AIA 定义且实现为有效的 RV32 sie[63:32] 高半 interrupt-enable 位:1 表示对应中断使能开启;递送还取决于 pending 位、sstatus.SIE/特权规则和中断控制器状态。

打开官方手册
官方依据与检索要点

sieh 是 RV32 下 sie 的高半访问入口;它扩展的是 Supervisor interrupt-enable 位图。

AIA 将 supervisor-level sie/sip 扩展为 64 位,并在 RV32 上增加 sieh/siph 高半 CSR。
解释 sieh 时应回到对应的 sie[63:32] interrupt-enable 位。
若实现 Smstateen 且 mstateen0.AIA=0,低于 M 模式访问 sieh 会触发非法指令异常;若虚拟机访问受 hstateen0.AIA 阻止,则触发 virtual-instruction exception。
中断能否进入仍取决于 pending 位、enable 位、sstatus.SIE/当前特权模式和中断控制器状态。

读这个 CSR 时先看什么

  • - 先确认当前 hart 实现 sieh 所属扩展;未实现或权限不足的 CSR 访问会触发非法指令异常。
  • - 结合地址 0x114、最低访问特权级和官方访问类判断软件是否可以直接访问。
  • - 读取保留、WPRI 或 WARL 字段时不要假设固定值,应按官方规范和实现返回值解释。

写入前的风险检查

  • - 写 sieh 时只修改官方定义的目标字段,保留未修改位。
  • - 对 WARL、WPRI 或保留字段按官方规范处理;不要把整个 CSR 当普通整数覆盖。

放回真实流程里理解

1

在 RV32 + AIA 环境中,用 sieh 访问 sie[63:32] 高位使能位。

2

只设置对应实现支持的高位 interrupt-enable 位;未实现位可能为只读零。

3

结合 sip/siph pending 位、sstatus.SIE/当前特权模式和 interrupt-controller 状态判断中断是否会进入。

常见问题

sieh 会单独触发中断吗?

不会。它只提供高位 enable 状态;中断进入还需要对应 pending 位和标准 S 模式中断递送规则成立。