Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.13-rc7 69 lines 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Arm Statistical Profiling Extensions (SPE) support 4 * Copyright (c) 2017-2018, Arm Ltd. 5 */ 6 7#ifndef INCLUDE__PERF_ARM_SPE_H__ 8#define INCLUDE__PERF_ARM_SPE_H__ 9 10#define ARM_SPE_PMU_NAME "arm_spe_" 11 12enum { 13 ARM_SPE_PMU_TYPE, 14 ARM_SPE_PER_CPU_MMAPS, 15 ARM_SPE_AUXTRACE_V1_PRIV_MAX, 16}; 17 18#define ARM_SPE_AUXTRACE_V1_PRIV_SIZE \ 19 (ARM_SPE_AUXTRACE_V1_PRIV_MAX * sizeof(u64)) 20 21enum { 22 /* 23 * The old metadata format (defined above) does not include a 24 * field for version number. Version 1 is reserved and starts 25 * from version 2. 26 */ 27 ARM_SPE_HEADER_VERSION, 28 /* Number of sizeof(u64) */ 29 ARM_SPE_HEADER_SIZE, 30 /* PMU type shared by CPUs */ 31 ARM_SPE_PMU_TYPE_V2, 32 /* Number of CPUs */ 33 ARM_SPE_CPUS_NUM, 34 ARM_SPE_AUXTRACE_PRIV_MAX, 35}; 36 37enum { 38 /* Magic number */ 39 ARM_SPE_MAGIC, 40 /* CPU logical number in system */ 41 ARM_SPE_CPU, 42 /* Number of parameters */ 43 ARM_SPE_CPU_NR_PARAMS, 44 /* CPU MIDR */ 45 ARM_SPE_CPU_MIDR, 46 /* Associated PMU type */ 47 ARM_SPE_CPU_PMU_TYPE, 48 /* Minimal interval */ 49 ARM_SPE_CAP_MIN_IVAL, 50 ARM_SPE_CPU_PRIV_MAX, 51}; 52 53#define ARM_SPE_HEADER_CURRENT_VERSION 2 54 55 56union perf_event; 57struct perf_session; 58struct perf_pmu; 59 60struct auxtrace_record *arm_spe_recording_init(int *err, 61 struct perf_pmu *arm_spe_pmu); 62 63int arm_spe_process_auxtrace_info(union perf_event *event, 64 struct perf_session *session); 65 66void arm_spe_pmu_default_config(const struct perf_pmu *arm_spe_pmu, 67 struct perf_event_attr *attr); 68 69#endif