DynamoRIO
dynamorio::drmemtrace::pt_sb_config_t Struct Reference

#include <pt2ir.h>

Data Fields

uint64_t sample_type
 
uint64_t kernel_start
 
std::string sysroot
 
uint16_t time_shift
 
uint32_t time_mult
 
uint64_t time_zero
 

Detailed Description

The type of PT raw trace's libipt-sb config.

Note
The class pt2ir_t does not want to expose libipt-sb to the upper layer too. So we redefine some configurations of libipt-sb in sb_config. The libipt-sb sideband session requires these parameters. We can get these parameters by running libipt/scirpts/perf-get-opts.bash.

Field Documentation

◆ kernel_start

uint64_t dynamorio::drmemtrace::pt_sb_config_t::kernel_start

The start address of kernel. The sideband session use it to distinguish kernel from user addresses: user < kernel_start < kernel.

◆ sample_type

uint64_t dynamorio::drmemtrace::pt_sb_config_t::sample_type

The value of perf_event_attr.sample_type.

◆ sysroot

std::string dynamorio::drmemtrace::pt_sb_config_t::sysroot

The sysroot is used for remote trace decoding. If the image locates at /path/to/image in remote machine, it will load it from ${sysroot}/path/to/image in local machine.

◆ time_mult

uint32_t dynamorio::drmemtrace::pt_sb_config_t::time_mult

The time multiplier. It is used to synchronize trace time, and the sideband recodes time.

Note
time_mult = perf_event_mmap_page.time_mult

◆ time_shift

uint16_t dynamorio::drmemtrace::pt_sb_config_t::time_shift

The time shift. It is used to synchronize trace time, and the sideband recodes time.

Note
time_shift = perf_event_mmap_page.time_shift

◆ time_zero

uint64_t dynamorio::drmemtrace::pt_sb_config_t::time_zero

The time zero. It is used to synchronize trace time, and the sideband recodes time.

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/build_release-64/clients/include/drmemtrace/pt2ir.h