blob: ca65e21b3e8393a83765e3e71879fa91aeda8d72 [file] [log] [blame]
Adrian Hunterd0170af2015-07-17 19:33:43 +03001/*
2 * intel-bts.h: Intel Processor Trace support
3 * Copyright (c) 2013-2014, Intel Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 */
15
16#ifndef INCLUDE__PERF_INTEL_BTS_H__
17#define INCLUDE__PERF_INTEL_BTS_H__
18
19#define INTEL_BTS_PMU_NAME "intel_bts"
20
21enum {
22 INTEL_BTS_PMU_TYPE,
23 INTEL_BTS_TIME_SHIFT,
24 INTEL_BTS_TIME_MULT,
25 INTEL_BTS_TIME_ZERO,
26 INTEL_BTS_CAP_USER_TIME_ZERO,
27 INTEL_BTS_SNAPSHOT_MODE,
28 INTEL_BTS_AUXTRACE_PRIV_MAX,
29};
30
31#define INTEL_BTS_AUXTRACE_PRIV_SIZE (INTEL_BTS_AUXTRACE_PRIV_MAX * sizeof(u64))
32
33struct auxtrace_record;
34struct perf_tool;
35union perf_event;
36struct perf_session;
37
38struct auxtrace_record *intel_bts_recording_init(int *err);
39
40int intel_bts_process_auxtrace_info(union perf_event *event,
41 struct perf_session *session);
42
43#endif