|
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