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:
- /home/runner/work/dynamorio/dynamorio/ext/drpttracer/drpttracer_shared.h