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
Open H in the explorerDependencies
Requires
Required by
Instructions (18)
| Mnemonic | Name | Encoding | Match | Mask |
|---|---|---|---|---|
HFENCE.GVMA | Hypervisor fence guest-physical address | 0110001----------000000001110011 | 0x62000073 | 0xfe007fff |
HFENCE.VVMA | Hypervisor fence guest virtual address | 0010001----------000000001110011 | 0x22000073 | 0xfe007fff |
HINVAL.GVMA | Invalidate cached address translations | 0110011----------000000001110011 | 0x66000073 | 0xfe007fff |
HINVAL.VVMA | Invalidate cached address translations | 0010011----------000000001110011 | 0x26000073 | 0xfe007fff |
HLV.B | Hypervisor load byte | 011000000000-----100-----1110011 | 0x60004073 | 0xfff0707f |
HLV.BU | Hypervisor load byte unsigned | 011000000001-----100-----1110011 | 0x60104073 | 0xfff0707f |
HLV.D | Hypervisor load doubleword | 011011000000-----100-----1110011 | 0x6c004073 | 0xfff0707f |
HLV.H | Hypervisor load halfword | 011001000000-----100-----1110011 | 0x64004073 | 0xfff0707f |
HLV.HU | Hypervisor load halfword unsigned | 011001000001-----100-----1110011 | 0x64104073 | 0xfff0707f |
HLV.W | Hypervisor load word | 011010000000-----100-----1110011 | 0x68004073 | 0xfff0707f |
HLV.WU | Hypervisor load word unsigned | 011010000001-----100-----1110011 | 0x68104073 | 0xfff0707f |
HLVX.HU | Hypervisor load halfword unsigned, executable | 011001000011-----100-----1110011 | 0x64304073 | 0xfff0707f |
HLVX.WU | Hypervisor load word unsigned, executable | 011010000011-----100-----1110011 | 0x68304073 | 0xfff0707f |
HRET | 00100000001000000000000001110011 | 0x20200073 | 0xffffffff | |
HSV.B | Hypervisor store byte | 0110001----------100000001110011 | 0x62004073 | 0xfe007fff |
HSV.D | Hypervisor store doubleword | 0110111----------100000001110011 | 0x6e004073 | 0xfe007fff |
HSV.H | Hypervisor store halfword | 0110011----------100000001110011 | 0x66004073 | 0xfe007fff |
HSV.W | Hypervisor store word | 0110101----------100000001110011 | 0x6a004073 | 0xfe007fff |
Control and status registers (28)
| Name | Address | Mode | Description |
|---|---|---|---|
hcontext | 0x6a8 | S | Hypervisor Context |
hcounteren | 0x606 | S | Hypervisor Counter Enable |
hedeleg | 0x602 | S | Hypervisor Exception Delegation |
hedelegh | 0x612 | S | Hypervisor Exception Delegation High |
henvcfg | 0x60a | S | Hypervisor Environment Configuration |
henvcfgh | 0x61a | S | most-significant 32 bits of Hypervisor Environment Configuration |
hgatp | 0x680 | S | Hypervisor guest address translation and protection |
hstateen0 | 0x60c | S | Hypervisor State Enable 0 Register |
hstateen0h | 0x61c | S | Upper 32 bits of Hypervisor State Enable 0 Register |
hstateen1 | 0x60d | S | Hypervisor State Enable 1 Register |
hstateen1h | 0x61d | S | Upper 32 bits of Hypervisor State Enable 1 Register |
hstateen2 | 0x60e | S | Hypervisor State Enable 2 Register |
hstateen2h | 0x61e | S | Upper 32 bits of Hypervisor State Enable 2 Register |
hstateen3 | 0x60f | S | Hypervisor State Enable 3 Register |
hstateen3h | 0x61f | S | Upper 32 bits of Hypervisor State Enable 3 Register |
hstatus | 0x600 | S | Hypervisor Status |
htimedelta | 0x605 | S | Hypervisor time delta |
htimedeltah | 0x615 | S | Hypervisor time delta, upper half |
htinst | 0x64a | S | Hypervisor Trap Instruction Register |
htval | 0x643 | M | Hypervisor Trap Value Register |
mtinst | 0x34a | M | Machine Trap Instruction Register |
mtval2 | 0x34b | M | Machine Second Trap Value Register |
vsatp | 0x280 | VS | Virtual Supervisor Address Translation and Protection |
vscause | 0x242 | VS | Virtual Supervisor Cause |
vsepc | 0x241 | VS | Virtual Supervisor Exception Program Counter |
vsstatus | 0x200 | VS | Virtual Supervisor Status |
vstval | 0x243 | S | Virtual supervisor Trap Value |
vstvec | 0x205 | S | Supervisor Trap Vector |