Commit edb4d843 authored by Adrian Hunter's avatar Adrian Hunter Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarAdrian 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent cf0c98e2
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -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.