6.5.5. LSM In Progress TFO packets

LSM In Progress packets occur only when both of the following conditions occur simultaneously:

An LSM In Progress TFO packet comprises the following contiguous components:

A header byte

Broadcast first. The header byte contains the 2-bit reason code that is labeled as RR in Table 6.6). For more information about TFO reason codes, see TFO reason codes.

Context ID

The number of Context ID bytes traced (0 to 4) is statically determined by ETMCR bits [15:14]. For more information on Context ID, see Context ID tracing.

The instruction address for the LSM

The LSM instruction address is a fixed 4-byte address with bit [0] specifying the Thumb bit.

The compressed current instruction address

The address for the instruction currently executing (1 to 5 bytes) is compressed using the same technique as is used for branch addresses (described in Branch Address trace packets).

This instruction address is compressed relative to the full address from the LSM instruction. The next instruction PIPESTAT is for the instruction pointed to by the compressed current instruction address and tracing begins in the normal way from this point forwards.

The LSM In Progress TFO packet type enables correct tracing of all instructions that touch a particular data address or data value. Without it, the LSM instruction cannot be properly traced based on the data address.

An LSM In Progress TFO packet is not output when the following condition occurs:

In this case, a normal TFO packet is output, giving the address of the LSM. A branch address packet is output, giving the address of the next instruction to execute before it is traced.

Note

Instructions occurring underneath the LSM are traced even if tracing was programmed to turn on only during the LSM itself. Similarly, if tracing is turned on because of the instruction address of an instruction that executes underneath an LSM, an LSM In Progress TFO packet is still output.

To illustrate the differences between the Normal TFO packet and the LSM In Progress TFO packet, Table 6.8 shows the bytes that can be expected for each.

Table 6.8. Comparison of Normal and LSM in progress TFO packets

Normal TFO packetLSM in progress TFO packet

Normal Header (1 byte)

LSM in Progress header (1 byte)

Context ID (0-4 bytes)

Context ID (0-4 bytes)

Instruction Address (4 bytes)

LSM Address (4 bytes)

(Not applicable)

Instruction Address (0-5 bytes)


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