Debug
ARM DDI 0363E Copyright ©2009 ARM Limited. All rights reserved. 11-53
ID013010 Non-Confidential, Unrestricted Access
If software running on the processor has control over an external device that drives the
authentication signals, it must make the change using a safe sequence:
1. Execute an implementation-specific sequence of instructions to change the signal value.
For example, this might be a single
STR
instruction that writes certain value to a control
register in a system peripheral.
2. If step1 involves any memory operation, issue a Data Synchronization Barrier (
DSB
)
instruction.
3. Poll the DSCR or Authentication Status Register to check whether the processor has
already detected the changed value of these signals. This is required because the system
might not issue the signal change to the processor until several cycles after the
DSB
completes.
4. Issue an Instruction Synchronization Barrier (
ISB
) instruction.
The software cannot perform debug or analysis operations that depend on the new value of the
authentication signals until this procedure is complete. The same rules apply when the debugger
has control of the processor through the ITR while in debug state.
The values of the DBGEN and NIDEN signals can be determined by polling DSCR[17:16],
DSCR[15:14], or the Authentication Status Register.