Debug

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.

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

11-53

ID013010

Non-Confidential, Unrestricted Access

 

Page 322
Image 322
ARM R4F, r1p3 manual Issue an Instruction Synchronization Barrier ISB instruction