]> www.infradead.org Git - users/hch/misc.git/commit
Merge branch 'kvm-arm64/pmuv3-asahi' into kvmarm/next
authorOliver Upton <oliver.upton@linux.dev>
Wed, 19 Mar 2025 21:53:54 +0000 (14:53 -0700)
committerOliver Upton <oliver.upton@linux.dev>
Wed, 19 Mar 2025 21:54:23 +0000 (14:54 -0700)
commit1b1d1b17b8775f58215b166e24d931890682608e
tree4d1a55a05b8f6c6dd5ae821fd1d379eec8b45fdc
parentd300b0168ea8fd5022a1413bd37ab63f4e5a7d4d
parente1231aacb065b2594d6f4833896aedc142fbd1d6
Merge branch 'kvm-arm64/pmuv3-asahi' into kvmarm/next

* kvm-arm64/pmuv3-asahi:
  : Support PMUv3 for KVM guests on Apple silicon
  :
  : Take advantage of some IMPLEMENTATION DEFINED traps available on Apple
  : parts to trap-and-emulate the PMUv3 registers on behalf of a KVM guest.
  : Constrain the vPMU to a cycle counter and single event counter, as the
  : Apple PMU has events that cannot be counted on every counter.
  :
  : There is a small new interface between the ARM PMU driver and KVM, where
  : the PMU driver owns the PMUv3 -> hardware event mappings.
  arm64: Enable IMP DEF PMUv3 traps on Apple M*
  KVM: arm64: Provide 1 event counter on IMPDEF hardware
  drivers/perf: apple_m1: Provide helper for mapping PMUv3 events
  KVM: arm64: Remap PMUv3 events onto hardware
  KVM: arm64: Advertise PMUv3 if IMPDEF traps are present
  KVM: arm64: Compute synthetic sysreg ESR for Apple PMUv3 traps
  KVM: arm64: Move PMUVer filtering into KVM code
  KVM: arm64: Use guard() to cleanup usage of arm_pmus_lock
  KVM: arm64: Drop kvm_arm_pmu_available static key
  KVM: arm64: Use a cpucap to determine if system supports FEAT_PMUv3
  KVM: arm64: Always support SW_INCR PMU event
  KVM: arm64: Compute PMCEID from arm_pmu's event bitmaps
  drivers/perf: apple_m1: Support host/guest event filtering
  drivers/perf: apple_m1: Refactor event select/filter configuration

Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/cpufeature.c
arch/arm64/kernel/image-vars.h
arch/arm64/kvm/arm.c