[PATCH v2 00/16] KVM: arm64: First batch of vgic-v5 related fixes
Marc Zyngier
maz at kernel.org
Wed Apr 1 03:35:55 PDT 2026
This is the second revision of this series attempting to fix a number
of issues reported on the vgic-v5 PPI series.
* From v1 [1]:
- Partially reverted the effective priority mask fix, as Sascha
pointed out the crucial difference in the way GICv5 manages the
PCR compared to GICv[234]'s PMR.
- Added a fix for dealing with the pending HW-backed PPIs.
- Added a workaround for the set_id_regs selftest, already posted
separately, but included here for completeness (and ease of
merging).
Patches on top of my kvm-arm64/vgic-v5-ppi branch.
[1] https://lore.kernel.org/r/20260326153530.3981879-1-maz@kernel.org
Marc Zyngier (16):
KVM: arm64: vgic: Don't reset cpuif/redist addresses at finalize time
KVM: arm64: Don't skip per-vcpu NV initialisation
arm64: Fix field references for ICH_PPI_DVIR[01]_EL2
KVM: arm64: Fix writeable mask for ID_AA64PFR2_EL1
KVM: arm64: Account for RESx bits in __compute_fgt()
KVM: arm64: vgic-v5: Hold config_lock while finalizing GICv5 PPIs
KVM: arm64: vgic-v5: Transfer edge pending state to ICH_PPI_PENDRx_EL2
KVM: arm64: vgic-v5: Cast vgic_apr to u32 to avoid undefined
behaviours
KVM: arm64: vgic-v5: Make the effective priority mask a strict limit
KVM: arm64: vgic-v5: Correctly set dist->ready once initialised
KVM: arm64: Kill arch_timer_context::direct field
KVM: arm64: Remove evaluation of timer state in
kvm_cpu_has_pending_timer()
KVM: arm64: Move GICv5 timer PPI validation into
timer_irqs_are_valid()
KVM: arm64: Correctly plumb ID_AA64PFR2_EL1 into pkvm idreg handling
KVM: arm64: Don't advertises GICv3 in ID_PFR1_EL1 if AArch32 isn't
supported
KVM: arm64: set_id_regs: Allow GICv3 support to be set at runtime
arch/arm64/kvm/arch_timer.c | 32 +++++-------
arch/arm64/kvm/config.c | 4 +-
arch/arm64/kvm/hyp/nvhe/sys_regs.c | 2 +-
arch/arm64/kvm/sys_regs.c | 20 +++----
arch/arm64/kvm/vgic/vgic-init.c | 32 ++++++++----
arch/arm64/kvm/vgic/vgic-v5.c | 24 +++++++--
arch/arm64/tools/sysreg | 4 +-
include/kvm/arm_arch_timer.h | 3 --
.../testing/selftests/kvm/arm64/set_id_regs.c | 52 ++++++++++++++++---
9 files changed, 115 insertions(+), 58 deletions(-)
base-commit: ce29261ec6482de54320c03398eb30e9615aee40
--
2.47.3
More information about the linux-arm-kernel
mailing list