Debug Change PE State to EL1, when executed in Debug state:
- If executed at EL0 changes the current Exception level and SP to EL1 using SP_EL1.
- Otherwise, if executed at ELx, selects SP_ELx.
The target exception level of a DCPS1 instruction is:
- EL1 if the instruction is executed at EL0.
- Otherwise, the Exception level at which the instruction is executed.
When the target Exception level of a DCPS1 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 EL0 in Non-secure state if EL2 is implemented and HCR_EL2.TGE == 1.
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.