5.3. Tracing the different exception types

This section describes how the PTM traces each type of exception. In some cases, it traces a number of exceptions in the same way. Table 5.6 lists all the exceptions, and shows where the corresponding PTM trace is described.

Table 5.6. Descriptions of how a PTM traces different exceptions

ExceptionDescription, see
Processor resetProcessor reset exception
Undefined InstructionUndefined Instruction exception
SVCSVC (Supervisor Call) or SMC (Secure Monitor Call) exception
Prefetch AbortPrefetch Abort exception
Synchronous Data AbortSynchronous Data Abort exception
Asynchronous Data AbortAsynchronous Data Abort, FIQ or IRQ exception
FIQ [a]
Debug state entryDebug state entry, when Halting debug-mode is enabled
Hypervisor mode entryEntry to Hyp mode
ThumbEE check handlerThumbEE check that goes to a handler, including the CHKA instruction
Jazelle exception Jazelle exception that goes to an ARM or Thumb state handler
Secure to Non-secure state changeSecure to Non-secure state change
BKPT instructionOther exceptions
Hardware breakpoint or watchpoint

[a] Including NMFI (Nonmaskable fast interrupt).

Before tracing any exception, if the PTM has assembled any atoms it outputs them in an atom header. In the trace stream, the PTM outputs this atom header before it traces the exception. However, if the first stage of tracing the exception is to trace a waypoint instruction, and that waypoint instruction is traced with an atom, the PTM might generate a single trace packet containing any assembled atoms and the atom from the waypoint instruction, see Prefetch Abort exception, Synchronous Data Abort exception, Asynchronous Data Abort, FIQ or IRQ exception, Debug state entry, when Halting debug-mode is enabled.

Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B