4.5.8. VMID packets

From PFTv1.1, in implementations that support the Virtualization Extensions, the VMID packet indicates the Virtual Machine ID of the trace source. This packet consists of a single header byte with a single payload byte.

Figure 4.39 shows the format of a VMID packet.

Figure 4.39. VMID packet

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.


The VMID packet is output each time the Virtual Machine ID changes. This packet must be output before the first instruction that was executed using the changed VMID is traced. At the latest this must occur immediately after the next ISB or exception entry or return after the instruction the updated the VMID.

If multiple VMID changes occur between two waypoints, only the last change is guaranteed to be considered for tracing. If the VMID has not changed since the previously traced value, the new VMID might not be traced.

When an I-Sync packet occurs, a VMID packet must be output before the next Atom, Branch, or Waypoint Update packet. This ensures that trace analysis tools have the complete context before decompressing any instructions.

The VMID is not traced on entry to a prohibited region.

When the processor is reset, the Virtual Machine ID is reset to zero. A VMID packet might not be traced in this scenario. However, this can be detected because an exception is traced indicating the reset exception.

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