B.3.1. Overall PFT trace decompression flow


This description of the trace decompression flow refers to executing various operations. Details of PFT trace decompression operations describes each of these operations.

The operation of a PFT trace decompressor is:

  1. Search for an A-sync packet, and use it to achieve packet boundary alignment.

  2. Identify packets, and discard any packet that is not an I-sync packet.

  3. The I-sync packet gives instruction synchronization. Process this packet:

    1. Output a trace turn on event object with the reason code from the I-sync packet.

    2. Store the address, instruction set state, security state and Context ID from the I-sync packet in LastState.

    3. If the reason code in the I-sync packet is periodic, and CurrentState is defined, check that CurrentState and LastState are identical. If these states are different, the decompressor must report an error.

    4. Copy LastState into CurrentState.

  4. Decode next packet.

  5. Process packet as follows:

    1. If the packet is a trigger packet, output a trigger event object and return to Stage 4.

    2. If the packet is an ignore packet, return to Stage 4.

    3. If the packet is an A-sync packet, return to Stage 4.

    4. If the packet is a branch address packet without an exception, execute branch_no_excp(), return to Stage 4.

    5. If the packet is a branch address packet with an exception, execute branch_with_excp(), return to Stage 4.

    6. If the packet is an atom packet, execute analyze_atomheader(), return to Stage 4.

    7. If the packet is a Context ID packet, execute analyze_cid(), return to Stage 4.

    8. If the packet is a VMID packet, execute analyze_vmid(), return to Stage 4.

    9. If the packet is a waypoint update packet, execute analyze_waypoint_update(), return to Stage 4.

    10. If the packet is an exception return packet, execute analyze_eret(), return to Stage 4.

    11. If the packet is an I-sync packet, go to Stage 3a.

    12. If no packet is received, stop decompression.

Figure B.1 shows this operation, but does not show how the decompressor processes the I-sync packet.

Figure B.1. Trace decompression operation

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

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