CSR 位字段

RISC-V hedelegh CSR 寄存器详解

地址 0x612特权级 Hypervisor访问 HRW(Hypervisor 读写) / 32 位(仅 RV32)Hypervisor 与虚拟化 CSR

hedelegh 是 hedeleg 的 RV32 高 32 位别名 CSR。

位作用速览
bit 3 = 只有第 3 位;bits 12..11 = 第 12 到第 11 位
高位 MSB低位 LSB
字段映射

按 bit 字段理解 hedelegh

1 个关键字段
31:0 (CSR bits 63:32 of hedeleg)

HEDELEG_HIGH

可写或只读零

hedeleg 高半别名。每个 hedeleg 位只能可写或只读零;陷入前 V=1 且已由 medeleg 委托给 HS 的相应同步异常,会在该 hedeleg 位为 1 时进一步委托给 VS。

这个字段控制什么

  • - hedeleg 高半别名。每个 hedeleg 位只能可写或只读零;陷入前 V=1 且已由 medeleg 委托给 HS 的相应同步异常,会在该 hedeleg 位为 1 时进一步委托给 VS。

常见取值

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

打开官方手册

读这个 CSR 时先看什么

  • - 仅当 H 扩展实现且 XLEN=32 时存在。
  • - hedeleg 只对陷入 HS 的 VS/VU 同步异常作进一步委托;HS 或 M 模式的陷入不会经由 hedeleg 委托。

写入前的风险检查

  • - 将实现未支持或不可委托的位视为只读零;不要假定所有异常原因位均可写。

放回真实流程里理解

1

确认 H 扩展和 RV32。

2

确认对应异常可由 hedeleg 委托。

3

读写别名位以访问 hedeleg[63:32]。