mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 23:34:00 -04:00
Add a PMU library for x86 selftests to help eliminate open-coded event encodings, and to reduce the amount of copy+paste between PMU selftests. Use the new common macro definitions in the existing PMU event filter test. Cc: Aaron Lewis <aaronlewis@google.com> Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Jinrong Liang <cloudliang@tencent.com> Co-developed-by: Sean Christopherson <seanjc@google.com> Tested-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Link: https://lore.kernel.org/r/20240109230250.424295-16-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
32 lines
758 B
C
32 lines
758 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (C) 2023, Tencent, Inc.
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <linux/kernel.h>
|
|
|
|
#include "kvm_util.h"
|
|
#include "pmu.h"
|
|
|
|
const uint64_t intel_pmu_arch_events[] = {
|
|
INTEL_ARCH_CPU_CYCLES,
|
|
INTEL_ARCH_INSTRUCTIONS_RETIRED,
|
|
INTEL_ARCH_REFERENCE_CYCLES,
|
|
INTEL_ARCH_LLC_REFERENCES,
|
|
INTEL_ARCH_LLC_MISSES,
|
|
INTEL_ARCH_BRANCHES_RETIRED,
|
|
INTEL_ARCH_BRANCHES_MISPREDICTED,
|
|
INTEL_ARCH_TOPDOWN_SLOTS,
|
|
};
|
|
kvm_static_assert(ARRAY_SIZE(intel_pmu_arch_events) == NR_INTEL_ARCH_EVENTS);
|
|
|
|
const uint64_t amd_pmu_zen_events[] = {
|
|
AMD_ZEN_CORE_CYCLES,
|
|
AMD_ZEN_INSTRUCTIONS_RETIRED,
|
|
AMD_ZEN_BRANCHES_RETIRED,
|
|
AMD_ZEN_BRANCHES_MISPREDICTED,
|
|
};
|
|
kvm_static_assert(ARRAY_SIZE(amd_pmu_zen_events) == NR_AMD_ZEN_EVENTS);
|