Debug Change PE State to EL2, when executed in Debug state:
- If executed at EL0 or EL1 changes the current Exception level and SP to EL2 using SP_EL2.
- Otherwise, if executed at ELx, selects SP_ELx.
The target exception level of a DCPS2 instruction is:
- EL2 if the instruction is executed at an exception level that is not EL3.
- EL3 if the instruction is executed at EL3.
When the target Exception level of a DCPS2 instruction is ELx, on executing this instruction:
- ELR_ELx becomes unknown.
- SPSR_ELx becomes unknown.
- ESR_ELx becomes unknown.
- DLR_EL0 and DSPSR_EL0 become unknown.
- The endianness is set according to SCTLR_ELx.EE.
This instruction is undefined at the following exception levels:
- All exception levels if EL2 is not implemented.
- At EL0 and EL1 if EL2 is disabled in the current Security state.
This instruction is always undefined in Non-debug state.
For more information on the operation of the DCPSn instructions, see DCPS.
if !Halted() then AArch64.UndefinedFault();
Is an optional 16-bit unsigned immediate, in the range 0 to 65535, defaulting to 0 and encoded in the "imm16" field.