[GIT PULL] KVM/arm64 fixes for 6.4, take #4

Marc Zyngier maz at kernel.org
Thu Jun 8 08:52:55 PDT 2023


Paolo,

Here's yet another batch of fixes, two of them addressing pretty
recent regressions: GICv2 emulation on GICv3 was accidently killed,
and the PMU rework needed some tweaking.

The last two patches address an annoying PMU (again) problem where
the KVM requirements were never factored in when PMU counters were
directly exposed to userspace. Reiji has been working on a fix, which
is now readdy to be merged.

Please pull,

        M.

The following changes since commit 40e54cad454076172cc3e2bca60aa924650a3e4b:

  KVM: arm64: Document default vPMU behavior on heterogeneous systems (2023-05-31 10:29:56 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-6.4-4

for you to fetch changes up to 30c60dda219ddda0bc6ff6ac55d493d9db8be4fa:

  KVM: arm64: Use raw_smp_processor_id() in kvm_pmu_probe_armpmu() (2023-06-07 16:48:34 +0100)

----------------------------------------------------------------
KVM/arm64 fixes for 6.4, take #4

- Correctly save/restore PMUSERNR_EL0 when host userspace is using
  PMU counters directly

- Fix GICv2 emulation on GICv3 after the locking rework

- Don't use smp_processor_id() in kvm_pmu_probe_armpmu(), and
  document why...

----------------------------------------------------------------
Marc Zyngier (1):
      KVM: arm64: Restore GICv2-on-GICv3 functionality

Oliver Upton (1):
      KVM: arm64: Use raw_smp_processor_id() in kvm_pmu_probe_armpmu()

Reiji Watanabe (2):
      KVM: arm64: PMU: Restore the host's PMUSERENR_EL0
      KVM: arm64: PMU: Don't overwrite PMUSERENR with vcpu loaded

 arch/arm/include/asm/arm_pmuv3.h        |  5 +++++
 arch/arm64/include/asm/kvm_host.h       |  7 +++++++
 arch/arm64/kvm/hyp/include/hyp/switch.h | 15 +++++++++++++--
 arch/arm64/kvm/hyp/vhe/switch.c         | 14 ++++++++++++++
 arch/arm64/kvm/pmu-emul.c               | 20 +++++++++++++++++++-
 arch/arm64/kvm/pmu.c                    | 27 +++++++++++++++++++++++++++
 arch/arm64/kvm/vgic/vgic-init.c         | 11 +++++++----
 drivers/perf/arm_pmuv3.c                | 21 ++++++++++++++++++---
 8 files changed, 110 insertions(+), 10 deletions(-)



More information about the linux-arm-kernel mailing list