Subject: [GIT PULL] KVM/arm64 fixes for 7.1, take #1

From: Marc Zyngier <[email-masked]>
Date: Fri, 24 Apr 2026 16:14:43 +0100

Paolo,

This is the first drop of KVM/arm64 fixes for 7.1. Nothing really
major so far, but a rather wide range of fixes for idreg handling,
long standing regressions, SMCCC compliance and more. Add a few
cleanups to the fix, and that's about it. As usual, gory details in
the tag below.

Please pull,

	M.

The following changes since commit 94b4ae79ebb42a8a6f2124b4d4b033b15a98e4f9:

  Merge branch kvm-arm64/misc-7.1 into kvmarm-master/next (2026-04-08 12:26:11 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-7.1-1

for you to fetch changes up to 4ce98bf0865c349e7026ad9c14f48da264920953:

  KVM: arm64: Wake-up from WFI when iqrchip is in userspace (2026-04-24 12:03:57 +0100)

----------------------------------------------------------------
KVM/arm64 fixes for 7.1, take #1

- Allow tracing for non-pKVM, which was accidentally disabled when
  the series was merged

- Rationalise the way the pKVM hypercall ranges are defined by using
  the same mechanism as already used for the vcpu_sysreg enum

- Enforce that SMCCC function numbers relayed by the pKVM proxy are
  actually compliant with the specification

- Fix a couple of feature to idreg mappings which resulted in the
  wrong sanitisation being applied

- Fix the GICD_IIDR revision number field that could never been
  written correctly by userspace

- Make kvm_vcpu_initialized() correctly use its parameter instead
  of relying on the surrounding context

- Enforce correct ordering in __pkvm_init_vcpu(), plugging a
  potential pin leak at the same time

- Move __pkvm_init_finalise() to a less dangerous spot, avoiding
  future problems

- Restore functional userspace irqchip support after a four year
  breakage (last functional kernel was 5.18...). This is obviously
  ripe for garbage collection.

- ... and the usual lot of spelling fixes

----------------------------------------------------------------
David Woodhouse (1):
      KVM: arm64: vgic: Fix IIDR revision field extracted from wrong value

Fuad Tabba (5):
      KVM: arm64: Fix FEAT_Debugv8p9 to check DebugVer, not PMUVer
      KVM: arm64: Fix typo in feature check comments
      KVM: arm64: Fix FEAT_SPE_FnE to use PMSIDR_EL1.FnE, not PMSVer
      KVM: arm64: Fix kvm_vcpu_initialized() macro parameter
      KVM: arm64: Fix pin leak and publication ordering in __pkvm_init_vcpu()

Marc Zyngier (2):
      KVM: arm64: pkvm: Adopt MARKER() to define host hypercall ranges
      KVM: arm64: Wake-up from WFI when iqrchip is in userspace

Quentin Perret (1):
      KVM: arm64: Fix initialisation order in __pkvm_init_finalise()

Sebastian Ene (1):
      KVM: arm64: Reject non compliant SMCCC function calls in pKVM

Vincent Donnefort (1):
      KVM: arm64: Re-allow hyp tracing HVCs for [nh]VHE

 arch/arm64/include/asm/kvm_asm.h   | 28 ++++++++++++++++++----------
 arch/arm64/include/asm/kvm_host.h  |  5 +----
 arch/arm64/kvm/arm.c               |  4 ++++
 arch/arm64/kvm/config.c            | 23 ++++++++++++++++-------
 arch/arm64/kvm/hyp/nvhe/hyp-main.c | 30 +++++++++++++++++-------------
 arch/arm64/kvm/hyp/nvhe/pkvm.c     | 38 +++++++++++++++++++++++++-------------
 arch/arm64/kvm/hyp/nvhe/setup.c    |  6 +++---
 arch/arm64/kvm/vgic/vgic-mmio-v2.c |  2 +-
 arch/arm64/kvm/vgic/vgic-mmio-v3.c |  2 +-
 9 files changed, 86 insertions(+), 52 deletions(-)