CSR 位字段

RISC-V vsctrctl CSR 寄存器详解

地址 0x24E特权级 Hypervisor 直接访问 / VS 别名访问访问 HRW(Hypervisor 读写) / VSXLENHypervisor 与虚拟化 CSR

vsctrctl 是 VS 级 Control Transfer Records 控制 CSR 的 VS 副本。

字段映射

按 bit 字段理解 vsctrctl

1 个关键字段
VSXLEN-1:0

CTRCTL

读写

VS Control Transfer Records 控制字段;具体字段按 CTR 扩展定义解释。

这个字段控制什么

  • - VS Control Transfer Records 控制字段;具体字段按 CTR 扩展定义解释。

常见取值

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

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

vsctrctl 是 VS CTR 控制 CSR。独立 CSR 地址用于 M/HS 侧管理;当 V=1 时,guest 通过对应 supervisor alias 访问 VS CTR 状态。

vsctrctl 的地址、访问类和宽度按官方 CSR 表核对:0x24E,HRW,VSXLEN。
它属于 Control Transfer Records 相关控制状态,不是普通 trap 或 interrupt CSR。
写入时只修改官方定义字段;WARL/WLRL/WPRI 和保留字段按官方规范与实现行为处理。

读这个 CSR 时先看什么

  • - vsctrctl 的独立 CSR 地址按官方表属于 HRW 访问类;VS/VU guest 通常通过对应 supervisor CSR 别名访问 VS 状态。
  • - 读取前确认 CTR 相关扩展已经实现。

写入前的风险检查

  • - 写 vsctrctl 时只修改官方定义的 CTR 控制字段,并保留 WPRI、保留位和未修改字段。

放回真实流程里理解

1

确认 CTR 扩展和 H 扩展实现。

2

M/HS 软件通过独立 CSR 地址管理 VS 副本。

3

guest 通过对应 supervisor CSR alias 访问 VS CTR 状态。

常见问题

vsctrctl 与 CTR 扩展有什么关系?

它是 VS 级 CTR 控制状态;只有实现相关 CTR 状态时才应解释其字段。

VS-mode 能直接访问 vsctrctl 独立地址吗?

不能。VS/VU guest 通过对应 supervisor alias 访问 VS 副本;直接访问独立 VS CSR 地址会触发 virtual-instruction exception。