public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] KVM: arm64: First batch of vgic-v5 related fixes
@ 2026-04-01 10:35 Marc Zyngier
  2026-04-01 10:35 ` [PATCH v2 01/16] KVM: arm64: vgic: Don't reset cpuif/redist addresses at finalize time Marc Zyngier
                   ` (16 more replies)
  0 siblings, 17 replies; 19+ messages in thread
From: Marc Zyngier @ 2026-04-01 10:35 UTC (permalink / raw)
  To: kvmarm, kvm, linux-arm-kernel
  Cc: Joey Gouly, Suzuki K Poulose, Oliver Upton, Zenghui Yu,
	Sascha Bischoff, Mark Brown

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



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-04-01 16:26 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-01 10:35 [PATCH v2 00/16] KVM: arm64: First batch of vgic-v5 related fixes Marc Zyngier
2026-04-01 10:35 ` [PATCH v2 01/16] KVM: arm64: vgic: Don't reset cpuif/redist addresses at finalize time Marc Zyngier
2026-04-01 10:35 ` [PATCH v2 02/16] KVM: arm64: Don't skip per-vcpu NV initialisation Marc Zyngier
2026-04-01 10:35 ` [PATCH v2 03/16] arm64: Fix field references for ICH_PPI_DVIR[01]_EL2 Marc Zyngier
2026-04-01 10:35 ` [PATCH v2 04/16] KVM: arm64: Fix writeable mask for ID_AA64PFR2_EL1 Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 05/16] KVM: arm64: Account for RESx bits in __compute_fgt() Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 06/16] KVM: arm64: vgic-v5: Hold config_lock while finalizing GICv5 PPIs Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 07/16] KVM: arm64: vgic-v5: Transfer edge pending state to ICH_PPI_PENDRx_EL2 Marc Zyngier
2026-04-01 16:24   ` Sascha Bischoff
2026-04-01 10:36 ` [PATCH v2 08/16] KVM: arm64: vgic-v5: Cast vgic_apr to u32 to avoid undefined behaviours Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 09/16] KVM: arm64: vgic-v5: Make the effective priority mask a strict limit Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 10/16] KVM: arm64: vgic-v5: Correctly set dist->ready once initialised Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 11/16] KVM: arm64: Kill arch_timer_context::direct field Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 12/16] KVM: arm64: Remove evaluation of timer state in kvm_cpu_has_pending_timer() Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 13/16] KVM: arm64: Move GICv5 timer PPI validation into timer_irqs_are_valid() Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 14/16] KVM: arm64: Correctly plumb ID_AA64PFR2_EL1 into pkvm idreg handling Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 15/16] KVM: arm64: Don't advertises GICv3 in ID_PFR1_EL1 if AArch32 isn't supported Marc Zyngier
2026-04-01 10:36 ` [PATCH v2 16/16] KVM: arm64: set_id_regs: Allow GICv3 support to be set at runtime Marc Zyngier
2026-04-01 15:30 ` [PATCH v2 00/16] KVM: arm64: First batch of vgic-v5 related fixes Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox