blob: c7d6068e3a6bbd42dec3a7a807655f9aa57b2f8f [file] [log] [blame]
Thomas Gleixner2025cf92019-05-29 07:18:02 -07001/* SPDX-License-Identifier: GPL-2.0-only */
Adrian Hunter90e457f2015-07-17 19:33:41 +03002/*
3 * intel_pt.h: Intel Processor Trace support
4 * Copyright (c) 2013-2015, Intel Corporation.
Adrian Hunter90e457f2015-07-17 19:33:41 +03005 */
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
12enum {
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,
Adrian Hunter11fa7cb2015-07-17 19:33:54 +030023 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,
Adrian Hunterfa8025c2016-09-23 17:38:42 +030028 INTEL_PT_MAX_NONTURBO_RATIO,
Adrian Hunterc093f302016-09-23 17:38:45 +030029 INTEL_PT_FILTER_STR_LEN,
Adrian Hunter90e457f2015-07-17 19:33:41 +030030 INTEL_PT_AUXTRACE_PRIV_MAX,
31};
32
Adrian Hunter90e457f2015-07-17 19:33:41 +030033struct auxtrace_record;
34struct perf_tool;
35union perf_event;
36struct perf_session;
37struct perf_event_attr;
38struct perf_pmu;
39
40struct auxtrace_record *intel_pt_recording_init(int *err);
41
42int intel_pt_process_auxtrace_info(union perf_event *event,
43 struct perf_session *session);
44
45struct perf_event_attr *intel_pt_pmu_default_config(struct perf_pmu *pmu);
46
47#endif