CY
读写允许 VS/VU 访问 cycle。
这个字段控制什么
- - 允许 VS/VU 访问 cycle。
常见取值
VS/VU 读取 cycle 不由 hcounteren 授权;若 mcounteren 对应位为 1,访问会触发 virtual-instruction exception。
允许 V=1 时读取 cycle,除非还被其他控制位阻止。
hcounteren 是Hypervisor 计数器使能 CSR。
允许 VS/VU 访问 cycle。
VS/VU 读取 cycle 不由 hcounteren 授权;若 mcounteren 对应位为 1,访问会触发 virtual-instruction exception。
允许 V=1 时读取 cycle,除非还被其他控制位阻止。
允许 VS/VU 访问 time。
VS/VU 读取 time 或 VS 访问 vstimecmp 不由 hcounteren 授权;若 mcounteren.TM 为 1,访问会触发 virtual-instruction exception。
允许 V=1 时读取 time,并在 Sstc 实现时允许 VS 访问 vstimecmp,除非还被其他控制位阻止。
允许 VS/VU 访问 instret。
VS/VU 读取 instret 不由 hcounteren 授权;若 mcounteren 对应位为 1,访问会触发 virtual-instruction exception。
允许 V=1 时读取 instret,除非还被其他控制位阻止。
允许 VS/VU 访问 hpmcounter3..31。
VS/VU 读取对应 hpmcounter3-31 不由 hcounteren 授权;若 mcounteren 对应位为 1,访问会触发 virtual-instruction exception。
允许 V=1 时读取对应 hpmcounter3-31,除非还被其他控制位阻止。
hcounteren 是 Hypervisor 计数器使能 CSR。它是 HS/M 侧的 Hypervisor 状态,不是 VS supervisor CSR 副本;guest 访问是否允许由 H 扩展和相关 state-enable/AIA/Sstc/Smcsrind 规则决定。
确认当前软件运行在可访问 Hypervisor CSR 的 M/HS 上下文。
确认定义该 CSR 的 H/AIA/Sstc/Smstateen/Smcsrind 等扩展已经实现。
按官方字段读写;guest 相关访问是否通过或 trap 由对应扩展规则和 state-enable 控制。
不能把 hcounteren 当作 VS CSR 副本。它是 H-level CSR;guest/VS 访问相关功能时是否 trap 由 H 扩展和对应可选扩展规则决定。