10.37 HVC

Hypervisor Call.

Syntax

HVC #imm
where:
imm
is an expression evaluating to an integer in the range 0-65535.

Operation

In a processor that implements the Virtualization Extensions, the HVC instruction causes a Hypervisor Call exception. This means that the processor enters Hyp mode, the CPSR value is saved to the Hyp mode SPSR, and execution branches to the HVC vector.
HVC must not be used if the processor is in Secure state, or in User mode in Non-secure state.
imm is ignored by the processor. However, it can be retrieved by the exception handler to determine what service is being requested.
HVC cannot be conditional, and is not permitted in an IT block.

Notes

The ERET instruction performs an exception return from Hyp mode.

Architectures

This ARM and 32-bit Thumb instruction is available in ARMv7 architectures that include the Virtualization Extensions.
There is no 16-bit version of this instruction in Thumb
Related concepts
2.4 Processor modes, and privileged and unprivileged software execution
Related reference
10.36 ERET
Non-ConfidentialPDF file icon PDF versionARM DUI0379G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.