pt2ir.h File Reference

Offline PT raw trace converter. More...

#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include <memory>
#include "dr_api.h"

Data Structures

struct  pt_cpu_t
 
struct  pt_config_t
 
struct  pt_sb_config_t
 
struct  pt2ir_config_t
 
class  pt2ir_t
 

Enumerations

enum  pt2ir_convert_status_t {
  PT2IR_CONV_SUCCESS = 0,
  PT2IR_CONV_ERROR_SYNC_PACKET,
  PT2IR_CONV_ERROR_HANDLE_SIDEBAND_EVENT,
  PT2IR_CONV_ERROR_GET_PENDING_EVENT,
  PT2IR_CONV_ERROR_SET_IMAGE,
  PT2IR_CONV_ERROR_DECODE_NEXT_INSTR,
  PT2IR_CONV_ERROR_DR_IR_CONVERT,
  PT2IR_CONV_SUCCESS = 0,
  PT2IR_CONV_ERROR_SYNC_PACKET,
  PT2IR_CONV_ERROR_HANDLE_SIDEBAND_EVENT,
  PT2IR_CONV_ERROR_GET_PENDING_EVENT,
  PT2IR_CONV_ERROR_SET_IMAGE,
  PT2IR_CONV_ERROR_DECODE_NEXT_INSTR,
  PT2IR_CONV_ERROR_DR_IR_CONVERT
}
 
enum  pt_cpu_vendor_t {
  CPU_VENDOR_UNKNOWN = 0,
  CPU_VENDOR_INTEL,
  CPU_VENDOR_UNKNOWN = 0,
  CPU_VENDOR_INTEL
}
 

Detailed Description

Offline PT raw trace converter.

Enumeration Type Documentation

◆ pt2ir_convert_status_t

The type of pt2ir_t::convert() return value.

Enumerator
PT2IR_CONV_SUCCESS 

The conversion process is successful.

PT2IR_CONV_ERROR_SYNC_PACKET 

The conversion process ends with a failure to sync to the PSB packet.

PT2IR_CONV_ERROR_HANDLE_SIDEBAND_EVENT 

The conversion process ends with a failure to handle a perf event.

PT2IR_CONV_ERROR_GET_PENDING_EVENT 

The conversion process ends with a failure to get the pending event.

PT2IR_CONV_ERROR_SET_IMAGE 

The conversion process ends with a failure to set the new image.

PT2IR_CONV_ERROR_DECODE_NEXT_INSTR 

The conversion process ends with a failure to decode the next intruction.

PT2IR_CONV_ERROR_DR_IR_CONVERT 

The conversion process ends with a failure to convert the libipt's IR to Dynamorio's IR.

PT2IR_CONV_SUCCESS 

The conversion process is successful.

PT2IR_CONV_ERROR_SYNC_PACKET 

The conversion process ends with a failure to sync to the PSB packet.

PT2IR_CONV_ERROR_HANDLE_SIDEBAND_EVENT 

The conversion process ends with a failure to handle a perf event.

PT2IR_CONV_ERROR_GET_PENDING_EVENT 

The conversion process ends with a failure to get the pending event.

PT2IR_CONV_ERROR_SET_IMAGE 

The conversion process ends with a failure to set the new image.

PT2IR_CONV_ERROR_DECODE_NEXT_INSTR 

The conversion process ends with a failure to decode the next intruction.

PT2IR_CONV_ERROR_DR_IR_CONVERT 

The conversion process ends with a failure to convert the libipt's IR to Dynamorio's IR.

◆ pt_cpu_vendor_t

The types of the CPU vendor.

Enumerator
CPU_VENDOR_UNKNOWN 

The CPU vendor is unknown.

CPU_VENDOR_INTEL 

The CPU vendor is Intel.

CPU_VENDOR_UNKNOWN 

The CPU vendor is unknown.

CPU_VENDOR_INTEL 

The CPU vendor is Intel.