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(-)