DCPS2

Debug change PE state to EL2

This instruction, 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 always UNDEFINED in Non-debug state.

    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.
  • For more information on the operation of the DCPS<n> instructions, see DCPS.

    Encoding: System

    313029282726252423222120191817161514131211109876543210
    1101010010100010
    opcimm16op2LL

    DCPS2 {#<imm>}

    Decoding algorithm

    // Empty.

    Operation

    if !Halted() then UNDEFINED;
    DCPSInstruction(EL2);

    Explanations

    <imm>: Is an optional 16-bit unsigned immediate, in the range 0 to 65535, defaulting to 0 and encoded in the "imm16" field.