RISC-V ISA Explorer · Single-Letter Extensions

H: Hypervisor

Ratified 2019-12 · version 1.0.0

A second stage of address translation and a guest privilege mode so hypervisors can host guest operating systems.

Typical use: Virtualization / VMs

Specification

Open H in the explorer

Dependencies

Requires

Required by

Instructions (18)

MnemonicNameEncodingMatchMask
HFENCE.GVMAHypervisor fence guest-physical address0110001----------0000000011100110x620000730xfe007fff
HFENCE.VVMAHypervisor fence guest virtual address0010001----------0000000011100110x220000730xfe007fff
HINVAL.GVMAInvalidate cached address translations0110011----------0000000011100110x660000730xfe007fff
HINVAL.VVMAInvalidate cached address translations0010011----------0000000011100110x260000730xfe007fff
HLV.BHypervisor load byte011000000000-----100-----11100110x600040730xfff0707f
HLV.BUHypervisor load byte unsigned011000000001-----100-----11100110x601040730xfff0707f
HLV.DHypervisor load doubleword011011000000-----100-----11100110x6c0040730xfff0707f
HLV.HHypervisor load halfword011001000000-----100-----11100110x640040730xfff0707f
HLV.HUHypervisor load halfword unsigned011001000001-----100-----11100110x641040730xfff0707f
HLV.WHypervisor load word011010000000-----100-----11100110x680040730xfff0707f
HLV.WUHypervisor load word unsigned011010000001-----100-----11100110x681040730xfff0707f
HLVX.HUHypervisor load halfword unsigned, executable011001000011-----100-----11100110x643040730xfff0707f
HLVX.WUHypervisor load word unsigned, executable011010000011-----100-----11100110x683040730xfff0707f
HRET001000000010000000000000011100110x202000730xffffffff
HSV.BHypervisor store byte0110001----------1000000011100110x620040730xfe007fff
HSV.DHypervisor store doubleword0110111----------1000000011100110x6e0040730xfe007fff
HSV.HHypervisor store halfword0110011----------1000000011100110x660040730xfe007fff
HSV.WHypervisor store word0110101----------1000000011100110x6a0040730xfe007fff

Control and status registers (28)

NameAddressModeDescription
hcontext0x6a8SHypervisor Context
hcounteren0x606SHypervisor Counter Enable
hedeleg0x602SHypervisor Exception Delegation
hedelegh0x612SHypervisor Exception Delegation High
henvcfg0x60aSHypervisor Environment Configuration
henvcfgh0x61aSmost-significant 32 bits of Hypervisor Environment Configuration
hgatp0x680SHypervisor guest address translation and protection
hstateen00x60cSHypervisor State Enable 0 Register
hstateen0h0x61cSUpper 32 bits of Hypervisor State Enable 0 Register
hstateen10x60dSHypervisor State Enable 1 Register
hstateen1h0x61dSUpper 32 bits of Hypervisor State Enable 1 Register
hstateen20x60eSHypervisor State Enable 2 Register
hstateen2h0x61eSUpper 32 bits of Hypervisor State Enable 2 Register
hstateen30x60fSHypervisor State Enable 3 Register
hstateen3h0x61fSUpper 32 bits of Hypervisor State Enable 3 Register
hstatus0x600SHypervisor Status
htimedelta0x605SHypervisor time delta
htimedeltah0x615SHypervisor time delta, upper half
htinst0x64aSHypervisor Trap Instruction Register
htval0x643MHypervisor Trap Value Register
mtinst0x34aMMachine Trap Instruction Register
mtval20x34bMMachine Second Trap Value Register
vsatp0x280VSVirtual Supervisor Address Translation and Protection
vscause0x242VSVirtual Supervisor Cause
vsepc0x241VSVirtual Supervisor Exception Program Counter
vsstatus0x200VSVirtual Supervisor Status
vstval0x243SVirtual supervisor Trap Value
vstvec0x205SSupervisor Trap Vector