C
读写控制 VM 对 custom state 的访问。
这个字段控制什么
- - 控制 VM 对 custom state 的访问。
hstateen0 是 Hypervisor state-enable CSR。
控制 VM 对 custom state 的访问。
控制 VM 对 siselect/sireg* alias(实际 VS indirect CSR)的访问。
VM 不能访问 VS indirect CSR alias 状态;相关访问按 state-enable 规则 trap。
允许 VM 访问 VS indirect CSR alias 状态。
控制 VM 对 AIA 非 CSRIND/IMSIC 状态的访问。
控制 VM 对 guest IMSIC 状态的访问,包括 stopei(实际 vstopei)。
控制 VM 对 scontext 等 context 状态的访问。
VM 不能访问 scontext 等 context 状态;相关访问按 state-enable 规则 trap。
允许 VM 访问 scontext 等 context 状态。
控制 Privileged 1.13 相关状态访问;Hypervisor 侧可移植含义需按当前官方扩展和实现确认。
控制 VM 对 senvcfg 等环境配置状态的访问。
控制 VS/VU 访问 sstateen0 以及下一级 state-enable 状态的权限。
VS/VU 不能访问 sstateen0/下一级 state-enable 状态;相关访问按 Smstateen/Ssstateen state-enable 规则 trap。
允许 VS/VU 在其他访问规则也允许时访问 sstateen0/下一级 state-enable 状态。
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 状态的访问。