1 /* 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 21 enum { 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 33 struct auxtrace_record; 34 struct perf_tool; 35 union perf_event; 36 struct perf_session; 37 38 struct auxtrace_record *intel_bts_recording_init(int *err); 39 40 int intel_bts_process_auxtrace_info(union perf_event *event, 41 struct perf_session *session); 42 43 #endif 44