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