DynamoRIO
_pt_metadata_t Struct Reference

#include <drpttracer_shared.h>

Data Fields

uint16_t cpu_family
 
uint8_t cpu_model
 
uint8_t cpu_stepping
 
uint16_t time_shift
 
uint32_t time_mult
 
uint64_t time_zero
 

Detailed Description

The type of PT trace's metadata.

Note
drpttracer uses the cpuid instruction to get the cpu_family, cpu_model and cpu_stepping. The cpu_family, cpu_model and cpu_stepping are used to initialize the PT config of pt2ir_t when decoding a PT trace.
drpttracer gets the time_shift, time_mult and time_zero from the opened perf event file's head. The time_shift, time_mult and time_zero are used to initialize the PT sideband config of pt2ir_t when decoding a PT trace.

All fields are little-endian.

Field Documentation

◆ cpu_family

uint16_t _pt_metadata_t::cpu_family

The CPU family.

◆ cpu_model

uint8_t _pt_metadata_t::cpu_model

The CPU mode.

◆ cpu_stepping

uint8_t _pt_metadata_t::cpu_stepping

The CPU stepping.

◆ time_mult

uint32_t _pt_metadata_t::time_mult

The time multiplier. pt2ir_t uses it to synchronize the time of the PT trace and sideband data.

Note
time_mult = perf_event_mmap_page.time_mult

◆ time_shift

uint16_t _pt_metadata_t::time_shift

The time shift. pt2ir_t uses it to synchronize the time of the PT trace and sideband data.

Note
time_shift = perf_event_mmap_page.time_shift

◆ time_zero

uint64_t _pt_metadata_t::time_zero

The time zero. pt2ir_t uses it to synchronize the time of the PT trace and sideband data.

Note
time_zero = perf_event_mmap_page.time_zero

The documentation for this struct was generated from the following file: