^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * intel-bts.h: Intel Processor Trace support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Copyright (c) 2013-2014, Intel Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #ifndef INCLUDE__PERF_INTEL_BTS_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define INCLUDE__PERF_INTEL_BTS_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define INTEL_BTS_PMU_NAME "intel_bts"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) enum {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) INTEL_BTS_PMU_TYPE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) INTEL_BTS_TIME_SHIFT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) INTEL_BTS_TIME_MULT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) INTEL_BTS_TIME_ZERO,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) INTEL_BTS_CAP_USER_TIME_ZERO,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) INTEL_BTS_SNAPSHOT_MODE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) INTEL_BTS_AUXTRACE_PRIV_MAX,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define INTEL_BTS_AUXTRACE_PRIV_SIZE (INTEL_BTS_AUXTRACE_PRIV_MAX * sizeof(u64))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) struct auxtrace_record;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) struct perf_tool;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) union perf_event;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) struct perf_session;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) struct auxtrace_record *intel_bts_recording_init(int *err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) int intel_bts_process_auxtrace_info(union perf_event *event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) struct perf_session *session);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif