CSR 位字段

RISC-V vsieh CSR 寄存器详解

地址 0x214特权级 Hypervisor 直接访问 / VS 别名访问访问 HRW(Hypervisor 读写) / 32 位(RV32 高半)Hypervisor 与虚拟化 CSR

vsieh 是 RV32 上 vsie 的高 32 位 CSR。

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

按 bit 字段理解 vsieh

1 个关键字段
31:0

VSIEH

读写

RV32 上 vsie 的高 32 位。 只有官方定义的中断位具有 0/1 使能含义;未定义或保留位不获得该语义。

这个字段控制什么

  • - RV32 上 vsie 的高 32 位。 只有官方定义的中断位具有 0/1 使能含义;未定义或保留位不获得该语义。

常见取值

0关闭

仅对官方定义的 RV32 高半 virtual supervisor 中断位:0 表示该位使能关闭;未定义、保留或只读零位按官方规则处理。

1开启

仅对官方定义的 RV32 高半 virtual supervisor 中断位:1 表示该位使能开启;递送还取决于 vsstatus.SIE 和 pending 状态。未定义或保留位没有固定 1=开启含义。

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

vsieh 是 RV32 VS 中断高半 CSR。独立 CSR 地址用于 M/HS 侧管理;当 V=1 时,guest 对相应 supervisor CSR 的访问会替代到 VS 状态,除非官方扩展另有规定。

vsieh 的地址、访问类和宽度按官方 CSR 表核对:0x214,HRW(Hypervisor 读写),32 位(RV32 高半)。
vsieh 只用于 RV32 访问 vsie 的高 32 位。
写入时只修改官方定义字段;WARL/WLRL/WPRI 和保留字段按官方规范与实现行为处理。

读这个 CSR 时先看什么

  • - vsieh 的独立 CSR 地址按官方表属于 HRW(Hypervisor 读写) 访问类;VS/VU guest 通常通过对应 supervisor CSR 别名访问 VS 状态。
  • - 读取前确认 H/AIA/Sstc/Smstateen/Smcsrind 等定义该 CSR 的扩展已经实现。

写入前的风险检查

  • - 写 vsieh 时只修改官方定义的目标字段,并保留 WPRI、保留位和未修改字段。

放回真实流程里理解

1

M/HS 软件可通过独立 CSR 地址访问 vsieh 的 VS 副本。

2

当 V=1 时,guest 访问 sieh 类 supervisor CSR 会替代到对应 VS 状态;直接访问独立 VS CSR 地址会触发 virtual-instruction exception。

3

按官方字段更新,不把 VS 状态混同为普通 HS supervisor 状态。

常见问题

vsieh 的独立地址能由 VS-mode 直接访问吗?

不能。H 扩展规定 V=1 时 guest 通过对应 supervisor CSR 别名访问 VS 状态;直接读写独立 VS CSR 地址会触发 virtual-instruction exception。

vsieh 主要保存什么?

vsieh 保存 vsie 的高 32 位,供 hypervisor 管理 guest supervisor 的 trap、状态或执行上下文。