perf tools: Define Intel PT CFE (Control Flow Event) / EVD (Event Data) event

Similar to other Intel PT synth events, define structures to hold CFE
and EVD data.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20220124084201.2699795-10-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2022-01-24 10:41:45 +02:00 committed by Arnaldo Carvalho de Melo
parent cf0c98e2ef
commit edb4d8432b

View file

@ -182,6 +182,7 @@ enum perf_synth_id {
PERF_SYNTH_INTEL_PWRX,
PERF_SYNTH_INTEL_CBR,
PERF_SYNTH_INTEL_PSB,
PERF_SYNTH_INTEL_EVT,
};
/*
@ -280,6 +281,33 @@ struct perf_synth_intel_psb {
u64 offset;
};
struct perf_synth_intel_evd {
union {
struct {
u8 evd_type;
u8 reserved[7];
};
u64 et;
};
u64 payload;
};
/* Intel PT Event Trace */
struct perf_synth_intel_evt {
u32 padding;
union {
struct {
u32 type : 5,
reserved : 2,
ip : 1,
vector : 8,
evd_cnt : 16;
};
u32 cfe;
};
struct perf_synth_intel_evd evd[];
};
/*
* raw_data is always 4 bytes from an 8-byte boundary, so subtract 4 to get
* 8-byte alignment.