2.6.2. Behavior while tracing is prohibited

Some processors prohibit tracing at certain times, for example when executing some Secure code. These areas are called prohibited regions. When entering a prohibited region:

Normally, entry into a prohibited region from a non-prohibited region occurs only because of entering a Secure privileged mode. Tools must be aware of whether tracing is prohibited in Secure modes, so that they can detect prohibited regions.

An implementation can include signals that determine whether non-invasive debug is permitted in Secure modes. If these signals change dynamically to prohibit tracing of the current code, the ETM must behave as described in this section, with the following additional instructions:

If the signals change dynamically and cause exit from a prohibited region, the restart of tracing might be imprecise. When the signal prohibiting non-invasive debug is deasserted there might be a delay before tracing restarts.

The ETM architecture permits prohibited regions to occur anywhere, although no architectural mechanism is provided to prohibit trace in Non-Secure code. Support for prohibited regions in Non-Secure code is implementation defined. Although implementation defined, the behavior described in this section still applies to Non-secure code. Also, when in a prohibited region in Non-Secure code, the Non-Secure resource must be LOW.

Copyright © 1999-2002, 2004-2009, 2011 ARM Limited. All rights reserved.ARM IHI 0014Q