##hvc_execute
if !HaveEL(EL2) || PSTATE.EL == EL0 || (PSTATE.EL == EL1 && IsSecure()) then
    UnallocatedEncoding();
end

hvc_enable = if HaveEL(EL3) then SCR_EL3.HCE else NOT(HCR_EL2.HCD);
if hvc_enable == 0 then
    AArch64.UndefinedFault();
else
    AArch64.CallHypervisor(imm);
end
@@
