Merge tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[linux-2.6-microblaze.git] / tools / perf / util / intel-pt.h
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 struct perf_event_attr *intel_pt_pmu_default_config(struct perf_pmu *pmu);
46
47 #endif