6.4.1. Trace packet headers

The trace packet header indicates the type of trace packet being output on the TRACEPKT pins, and specifies how to interpret the subsequent bytes of the packet. Trace packet header encodings are shown in Table 6.2.

Table 6.2. Trace packet header encodings

ValueDescription
bC0A0SS10

Normal data address expected. See Normal Data packets.

bX0X1XX00

Reserved.

bX0X1XX10

Reserved.

bX10XXX10

Reserved.

bX1100X10

Reserved.

bC1101010

Value Not Traced. See Value Not Traced packets.

bC1101110

Context ID. See Context ID tracing.

bX111XX10

Reserved.

bC1A1TT00

Load Miss occurred. See Load Miss packets.

bCTT0SS00

Load Miss data. See Load Miss packets.


Note

Branch addresses are encoded cXXXXXX1, where c is the address continue bit. Branch addresses are always output last in a cycle and are not preceded by a header. See Branch Address trace packets for more information.

Certain bits in the trace packet header encodings shown in Table 6.2 have specific functions, as follows:

C

Informs the decompression tool how many packets are placed on the FIFO in a single cycle. The C bit is set to 1 in every packet except the last packet placed in the FIFO in a cycle. This enables the decompressor to correctly associate packets with cycles (and therefore with instructions).

All headers other than Branch Address have a C bit. A Branch Address packet is always the last packet to be placed in the FIFO in a cycle, and does not require a C bit.

X

Indicates that the value is undefined.

A

Specifies that this is the first data packet for a particular instruction, and that a data address is expected (if address tracing is enabled). This information enables the decompressor to maintain synchronization when tracing through sections of code that cannot be decompressed (any region for which a binary is not available). The A bit is not asserted on Coprocessor Register Transfer (CPRT) packets.

TT

Used as a tag to identify each load miss. For more details, see Load Miss packets.

SS

Used for data value compression. The SS bits specify the size of the data value transferred. Leading zeros are removed from the value as a simple form of data compression. Typically this compression technique is enough to offset the additional bandwidth cost of the header byte. The encodings for the SS bits are given in Table 6.3.

Table 6.3. SS bit encodings

EncodingDescription
b00Value = 0, no data bytes follow
b01Value < 256, one data byte follows
b10Value < 65536, two data bytes follow
b11No compression done, four data bytes follow

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