1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * intel_pt.h: Intel Processor Trace support |
4 | * Copyright (c) 2013-2015, Intel Corporation. |
5 | */ |
6 | |
7 | #ifndef INCLUDE__PERF_INTEL_PT_H__ |
8 | #define INCLUDE__PERF_INTEL_PT_H__ |
9 | |
10 | #define INTEL_PT_PMU_NAME "intel_pt" |
11 | |
12 | enum { |
13 | INTEL_PT_PMU_TYPE, |
14 | INTEL_PT_TIME_SHIFT, |
15 | INTEL_PT_TIME_MULT, |
16 | INTEL_PT_TIME_ZERO, |
17 | INTEL_PT_CAP_USER_TIME_ZERO, |
18 | INTEL_PT_TSC_BIT, |
19 | INTEL_PT_NORETCOMP_BIT, |
20 | INTEL_PT_HAVE_SCHED_SWITCH, |
21 | INTEL_PT_SNAPSHOT_MODE, |
22 | INTEL_PT_PER_CPU_MMAPS, |
23 | INTEL_PT_MTC_BIT, |
24 | INTEL_PT_MTC_FREQ_BITS, |
25 | INTEL_PT_TSC_CTC_N, |
26 | INTEL_PT_TSC_CTC_D, |
27 | INTEL_PT_CYC_BIT, |
28 | INTEL_PT_MAX_NONTURBO_RATIO, |
29 | INTEL_PT_FILTER_STR_LEN, |
30 | INTEL_PT_AUXTRACE_PRIV_MAX, |
31 | }; |
32 | |
33 | struct auxtrace_record; |
34 | struct perf_tool; |
35 | union perf_event; |
36 | struct perf_session; |
37 | struct perf_event_attr; |
38 | struct perf_pmu; |
39 | |
40 | struct auxtrace_record *intel_pt_recording_init(int *err); |
41 | |
42 | int intel_pt_process_auxtrace_info(union perf_event *event, |
43 | struct perf_session *session); |
44 | |
45 | void intel_pt_pmu_default_config(const struct perf_pmu *intel_pt_pmu, |
46 | struct perf_event_attr *attr); |
47 | |
48 | #endif |
49 | |