CSR 位字段

RISC-V vstimecmph CSR 寄存器详解

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

vstimecmph 保存VS timer compare 值的高 32 位。

位作用速览
bit 3 = 只有第 3 位;bits 12..11 = 第 12 到第 11 位
高位 MSB低位 LSB
保留63:32TIMECMP31:0读写
字段映射

按 bit 字段理解 vstimecmph

1 个关键字段
31:0

TIMECMP

读写

vstimecmph 的VS timer compare 值高 32 位。

这个字段控制什么

  • - vstimecmph 的VS timer compare 值高 32 位。

常见取值

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

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

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

vstimecmph 的地址、访问类和宽度按官方 CSR 表核对:0x25D,HRW(Hypervisor 读写),32 位(RV32 高半)。
Sstc 添加 VS-level vstimecmp,并通过 henvcfg.STCE 等控制相关可用性。
该 CSR 是 RV32 高半访问,不是独立的完整计时器。
写入时只修改官方定义字段;WARL/WLRL/WPRI 和保留字段按官方规范与实现行为处理。

读这个 CSR 时先看什么

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

写入前的风险检查

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

放回真实流程里理解

1

确认 Sstc/H 扩展及相关 enable 位实现。

2

在 RV32 上按高半 CSR 访问顺序处理。

3

不要把 time offset 与 timer compare 混写。

常见问题

vstimecmph 是 64 位状态的一部分吗?

vstimecmph 是 RV32 高半 CSR,访问对应 64 位状态的高 32 位。

vstimecmph 与 time 有什么关系?

它是 VS 级 timer compare 状态,用于 guest supervisor 定时器中断比较。