[GIT PULL] First batch of KVM/arm64 fixes for 6.13

Oliver Upton
2024-11-21T08:28:42Z

Hi Paolo,

Had a surprising amount of fixes turn up over the past few days so it is
probably best to send the first batch your way. The LPI invalidation and
compilation fix are particularly concerning, rest of the details found in
the tag.

Please pull.

--
Thanks,
Oliver

The following changes since commit 60ad25e14ab5a4e56c8bf7f7d6846eacb9cd53df:

KVM: arm64: Pass on SVE mapping failures (2024-11-12 11:04:39 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 13905f4547b050316262d54a5391d50e83ce613a:

KVM: arm64: Use MDCR_EL2.HPME to evaluate overflow of hyp counters (2024-11-20 17:23:32 -0800)

----------------------------------------------------------------
KVM/arm64 changes for 6.13, part #2

- Constrain invalidations from GICR_INVLPIR to only affect the LPI
INTID space

- Set of robustness improvements to the management of vgic irqs and GIC
ITS table entries

- Fix compilation issue w/ CONFIG_CC_OPTIMIZE_FOR_SIZE=y where
set_sysreg_masks() wasn't getting inlined, breaking check for a
constant sysreg index

- Correct KVM's vPMU overflow condition to match the architecture for
hyp and non-hyp counters

----------------------------------------------------------------
Marc Zyngier (5):
KVM: arm64: vgic-v3: Sanitise guest writes to GICR_INVLPIR
KVM: arm64: vgic: Make vgic_get_irq() more robust
KVM: arm64: vgic: Kill VGIC_MAX_PRIVATE definition
KVM: arm64: vgic-its: Add stronger type-checking to the ITS entry sizes
KVM: arm64: Mark set_sysreg_masks() as inline to avoid build failure

Oliver Upton (1):
KVM: arm64: Use MDCR_EL2.HPME to evaluate overflow of hyp counters

Raghavendra Rao Ananta (1):
KVM: arm64: Ignore PMCNTENSET_EL0 while checking for overflow status

arch/arm64/kvm/nested.c | 2 +-
arch/arm64/kvm/pmu-emul.c | 62 +++++++++++++++++++++---------
arch/arm64/kvm/vgic/vgic-debug.c | 5 ++-
arch/arm64/kvm/vgic/vgic-init.c | 2 +-
arch/arm64/kvm/vgic/vgic-its.c | 77 ++++++++++++++++++++++++++------------
arch/arm64/kvm/vgic/vgic-mmio-v2.c | 12 +++---
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 13 +++++--
arch/arm64/kvm/vgic/vgic-mmio.c | 38 +++++++++----------
arch/arm64/kvm/vgic/vgic-v2.c | 2 +-
arch/arm64/kvm/vgic/vgic-v3.c | 2 +-
arch/arm64/kvm/vgic/vgic-v4.c | 4 +-
arch/arm64/kvm/vgic/vgic.c | 43 +++++++++++++--------
arch/arm64/kvm/vgic/vgic.h | 27 +------------
include/kvm/arm_vgic.h | 1 -
14 files changed, 172 insertions(+), 118 deletions(-)