Hypervisor call to allow OS code to call the Hypervisor. It generates an exception targeting exception level 2 (EL2).
Is a 16-bit unsigned immediate, in the range 0 to 65535. This value is made available to the handler in the Exception Syndrome Register.
Hypervisor Call causes an exception to EL2. Non-secure software executing at EL1 can use this instruction to call the hypervisor to request a service.
- Is UNDEFINED in ELO, and Secure EL1.
- When SCR_EL3.HCE is set to 0, generates an Undefined Instruction exception.
On executing an
HVC instruction, the PE records the exception as a Hypervisor Call exception, using the EC value 0x16, and the value of the immediate argument. This is reported in:
- ESR_ELx, if the exception is taken to an Exception level that is using AArch64.
- HSR in the ARMv8-A Architecture Reference Manual, if the exception is taken to an Exception level that is using AArch32. See Use of the HSR in the ARMv8-A Architecture Reference Manual.