05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Non-invasive Debug Authentication<br />

C7.3 Effects of non-invasive debug authentication<br />

The following sections describe the effects of the non-invasive debug authentication on the non-invasive<br />

debug components:<br />

Performance monitors<br />

Trace on page C7-7<br />

Reads of the Program Counter sampling registers on page C8-3.<br />

C7.3.1 Performance monitors<br />

Performance monitors provide a non-invasive debug feature, <strong>and</strong> are controlled by the non-invasive debug<br />

authentication signals. For more information, see Chapter C9 Performance Monitors.<br />

The cycle counter, PMCCNTR, is not controlled by the non-invasive debug authentication signals. However,<br />

setting the PMCR.DP flag to 1 disables PMCCNTR counting in regions of code where the event counters<br />

are disabled. For details see c9, Performance Monitor Control Register (PMCR) on page C10-105.<br />

Table C7-3 describes the behavior of the performance monitors when non-invasive debug is disabled or not<br />

permitted, <strong>and</strong> in Debug state.<br />

Table C7-3 Behavior of performance monitors when non-invasive debug not permitted<br />

Debug<br />

state<br />

Non-invasive debug<br />

permitted <strong>and</strong> enabled<br />

PMCR.DP a<br />

Event counters enabled<br />

<strong>and</strong> events exported a, b<br />

Yes x x No No<br />

No Yes x Yes Yes<br />

No No 0 No Yes<br />

No No 1 No No<br />

a. See c9, Performance Monitor Control Register (PMCR) on page C10-105.<br />

b. The events are exported only if the PMCR.X bit is set to 1.<br />

PMCCNTR<br />

enabled<br />

The performance monitors are not intended to be completely accurate, see Accuracy of the performance<br />

monitors on page C9-5. In particular, some inaccuracy is permitted at the point of changing security state.<br />

However, to avoid the leaking of information from the Secure state, the permitted inaccuracy is that<br />

non-prohibited transactions can be uncounted. Prohibited transactions must not be counted.<br />

Entry to <strong>and</strong> exit from Debug state can also disturb the normal running of the processor, causing additional<br />

inaccuracy in the performance monitors. Disabling the counters while in Debug state limits the extent of this<br />

inaccuracy. Implementations can limit this inaccuracy to a greater extent, for example by disabling the<br />

counters as soon as possible during the Debug state entry sequence.<br />

C7-6 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!