1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Copyright (C) 2023, Tencent, Inc. 4 */ 5 6 #include <stdint.h> 7 8 #include <linux/kernel.h> 9 10 #include "kvm_util.h" 11 #include "pmu.h" 12 13 const uint64_t intel_pmu_arch_events[] = { 14 INTEL_ARCH_CPU_CYCLES, 15 INTEL_ARCH_INSTRUCTIONS_RETIRED, 16 INTEL_ARCH_REFERENCE_CYCLES, 17 INTEL_ARCH_LLC_REFERENCES, 18 INTEL_ARCH_LLC_MISSES, 19 INTEL_ARCH_BRANCHES_RETIRED, 20 INTEL_ARCH_BRANCHES_MISPREDICTED, 21 INTEL_ARCH_TOPDOWN_SLOTS, 22 INTEL_ARCH_TOPDOWN_BE_BOUND, 23 INTEL_ARCH_TOPDOWN_BAD_SPEC, 24 INTEL_ARCH_TOPDOWN_FE_BOUND, 25 INTEL_ARCH_TOPDOWN_RETIRING, 26 INTEL_ARCH_LBR_INSERTS, 27 }; 28 kvm_static_assert(ARRAY_SIZE(intel_pmu_arch_events) == NR_INTEL_ARCH_EVENTS); 29 30 const uint64_t amd_pmu_zen_events[] = { 31 AMD_ZEN_CORE_CYCLES, 32 AMD_ZEN_INSTRUCTIONS_RETIRED, 33 AMD_ZEN_BRANCHES_RETIRED, 34 AMD_ZEN_BRANCHES_MISPREDICTED, 35 }; 36 kvm_static_assert(ARRAY_SIZE(amd_pmu_zen_events) == NR_AMD_ZEN_EVENTS); 37