SE0
WARL(始终可写)控制 VM 对 sstateen0 CSR 的访问;hstateen0 的 bit 63 始终可写。
这个字段控制什么
- - 控制 VM 对 sstateen0 CSR 的访问;hstateen0 的 bit 63 始终可写。
hstateen0 是 Hypervisor state-enable CSR。
控制 VM 对 sstateen0 CSR 的访问;hstateen0 的 bit 63 始终可写。
控制 VM 对 senvcfg CSR 的访问。
写保留、读忽略位。
控制 VM 对 Sscsrind 的 siselect/sireg*(实际为 VS 间接 CSR)访问。
控制 VM 对非 CSRIND/IMSIC 覆盖的 Ssaia 状态访问。
控制 VM 对 guest IMSIC 状态(包括 stopei,实际 vstopei)的访问。
控制 VM 对 Sdtrig scontext CSR 的访问。
写保留、读忽略位;P1P13 和 SRMCFG 只在 mstateen0 中定义。
Smctr/Ssctr 存在时控制 VM 对 CTR 状态的访问;未实现受控状态时只读零。
写保留、读忽略位。
控制 Zcmt 的 jvt CSR 访问;未实现受控状态时只读零。
控制 Zfinx 及相关扩展的 fcsr 访问;misa.F=1 时只读零。
控制 VM 对全部 custom state 的访问;C 位本身是标准 state-enable 字段而不是 custom state。
hstateen0 是 Hypervisor state-enable 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 控制。
不能把 hstateen0 当作 VS CSR 副本。它是 H-level CSR;guest/VS 访问相关功能时是否 trap 由 H 扩展和对应可选扩展规则决定。
它们分别控制 VM 对 AIA、guest IMSIC 和间接 CSR alias 状态的访问。