DCPS1

Debug change PE state to EL1

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

    This instruction is UNDEFINED at EL0 in Non-secure state if EL2 is implemented and HCR_EL2.TGE == 1.

    For more information on the operation of the DCPS<n> instructions, see DCPS.

    Encoding: System

    313029282726252423222120191817161514131211109876543210
    1101010010100001
    opcimm16op2LL

    DCPS1 {#<imm>}

    Decoding algorithm

    // Empty.

    Operation

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

    Explanations

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